У меня есть существующее веб-приложение, которое установлено на нескольких машинах. клиенты сценариев и клиенты .net используют службы ".asmx" через одну машину, которая направляет все вызовы на другие машины.
Клиент ----> | Веб-сайт \ Виртуальный каталог (HttpHandler) | ----> |Другой сервер \ реальный .asmx|
Я добавил новую службу .svc, которая выполняет те же функции, и добавил для нее обработчик (конфигурация каталога):
<system.webServer>
<handlers>
<add name="MY_ASMX" verb="*" path="*.asmx" type="MY.AO.HttpProxy, Astea.AO.HttpProxy" resourceType="Unspecified" preCondition="integratedMode" />
<add name="MY_ASPX" verb="*" path="*.aspx" type="MY.AO.HttpProxy, Astea.AO.HttpProxy" resourceType="Unspecified" preCondition="integratedMode" />
<add name="MY_WSDL" verb="*" path="*.wsdl" type="MY.AO.HttpProxy, Astea.AO.HttpProxy" resourceType="Unspecified" preCondition="integratedMode" />
<add name="MY_SVC" verb="*" path="*.svc" type="MY.AO.HttpProxy, Astea.AO.HttpProxy" resourceType="Unspecified" preCondition="integratedMode" />
while asmx request are routed fine, my new .svc on the end server does not get called, and even the Httphandler is skipped. if i call the .svc directly on the other machine it works.
ошибка, которую я получаю:
WebHost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/26458746
Exception: System.Web.HttpException (0x80004005): The service '/Mysite/MyDirectory/settings.svc' does not exist. ---> System.ServiceModel.EndpointNotFoundException: The service '/Mysite/MyDirectory/settings.svc' does not exist.
Я уже пробовал следующее
- добавить «buildProviders» в раздел компиляции, который удаляет .svc
- Нажмите MimeTypes и введите «.svc» и «application/octet-stream» и сохраните
- добавить обработчик:
ничего не помогает, обработчик http не вызывается
p.s. Я работаю с AppPool .net 4.0 Integrated