У меня есть служба WCF с использованием HttpBinding. Служба работает в процессе самостоятельного хостинга (служба Windows), и этот процесс находится в списке исключений брандмауэра Windows.Служба WCF, заблокированная брандмауэром Windows
Если брандмауэр активен, и я пытаюсь получить доступ к службе с помощью клиента C# или Internet Explorer, служба не отвечает. Но если брандмауэр отключен, соединение работает как шарм.
У кого-либо есть эксплойты с WCF и брандмауэром Windows? Проблема возникла на Windows 7 64bit. Я еще не пробовал другую ОС.
Что я должен сделать, чтобы заставить это работать с активным брандмауэром?
С уважением Майкл
EDIT: Я нашел ключ, что http.sys должен быть добавлен в список исключений брандмауэра, так как ФОС самостоятельной хостинг использует http.sys. Любые советы, как это решить?
EDIT: Я попытался открыть все прослушивающие порты вручную, что тоже работает, но это не вариант, потому что я не знаю их заранее.
попытаться открыть порт, который использует служба? т. е. порт 80, 8080 или все, что вы настроили. Поскольку он использует обычный http, я не вижу проблемы :( – KTrum
Я просто пробовал это и работает. Но для обеспечения простого пользовательского опыта это не вариант в продуктивной среде. (Похоже, что порт изменен ...) –
Звучит странно, что порт изменится? Используете ли вы IIS для публикации службы? Думаю, вам нужно будет выполнить процедуру, которая проверяет, какой порт использует служба, и открывать этот порт программно в брандмауэре, если это даже если возможно. Если порт закрыт в брандмауэре, вы, вероятно, не сможете получить доступ к службе. – KTrum