После нескольких попыток я наконец нашел решение [1]:
/*/
/*.*
!.git*
!/wordpress
Объяснение построчно:
.gitignore
(и, возможно, .gitattributes
). [1] Ограничения (о которых я знаю):
/*
нарушит всю схему). wordpress
), не может иметь .
в имени (например, wordpress.1
не будет работать). Если у него есть .
, удалите строку 2 и найдите другой способ исключить все файлы в корне. git version 2.17.1.windows.2
Существует реализация WS-Discovery, которая позволит вам прослушивать объявления о повышении / понижении для вашей службы. Это также очень удобная форма разрешения адресов службы, поскольку она использует многоадресные сообщения UDP для поиска службы, а не настраивает один заданный адрес на клиенте. WS-Discovery для WCF
Также есть реализация, выполненная сотрудником Microsoft: Пример реализации WS-Discovery
.NET 4.0 будет включать это изначально. Вы можете прочитать о реализации .NET 4.0 в блоге Хесуса Родригеса. В нем есть отличная диаграмма, в которой подробно описывается специальная коммуникация, происходящая в WS-Disco Использование WS-Discovery в WCF 4.0
Еще одна вещь, которую вы можете рассмотреть, особенно если ваши сообщения в основном односторонние, - это протокол, который работает изначально без подключения, как MSMQ. Я не знаю, как выглядит ваш дизайн для вашего приложения, но MSMQ позволит клиенту отправлять сообщение независимо от состояния службы, и служба получит его, когда вернется. Таким образом, вашему клиенту не нужно так часто блокировать попытки получить подтверждение того, что служба работает, прежде чем общаться ... он просто сработает и забудет.
Надеюсь, это поможет.
Если вы выполняете синхронный вызов с ожиданием тайм-аута сервера в приложении с пользовательским интерфейсом, вам следует делать это в другом потоке. Снижает ли ваша производительность загрузка ЦП, доступность графического интерфейса или время настенных часов?
Вы можете исследовать, можете ли вы создать настраиваемую привязку для TCP, но с более быстрым таймаутом.
Я полагаю, вы знаете, что "IsOneWay = true "быстрее, чем запрос-> ответ в вашем случае, потому что вы все равно не ожидаете ответа, но тогда вы не получаете подтверждения или возвращаемых значений. Вы также можете реализовать двустороннюю связь, которая не является запросом-> ответом.
Если бы вы были в локальной сети, то можно было бы транслировать сигнал о том, что новый сервер работает. Клиенту необходимо будет прослушивать широковещательный сигнал и соответственно реагировать.
Я не думаю, что возможно сделать вызов на стороне сервера вашему клиенту, чтобы сообщить ему, что служба запущена ... Лучший способ, который я могу видеть, - это выяснить, как клиентский метод где услуга открыта и в хорошем состоянии. Если мне не хватает некоторых функций WCF ...
Есть хороший пост в блоге WCF: Доступность служб WCF , если вы заинтересованы в чтении.