HttpHandler для перехвата запросов * .svc - PullRequest
9 голосов
/ 05 июня 2009

Я пытаюсь создать собственный ASP.NET HttpHandler для работы с любыми запросами к веб-службам WCF (* .svc) для возврата простого предопределенного сообщения SOAP.

Однако после добавления HttpHandler в web.config, как показано ниже. Кажется, что IIS не выбирает обработчик для выполнения. Но тот же обработчик работает нормально с * .aspx

<remove verb="*" path="*.svc"/>
<add verb="*" path="*.svc" type="… " />

Кто-нибудь знает, как заставить HttpHandler работать с расширением svc? или

Существуют ли другие методы для достижения той же цели?


Спасибо всем за ваши ответы. Мой собственный HttpHandler теперь работает после добавления следующей конфигурации в файл web.config.

<compilation> 
    <buildProviders> 
        <remove extension=".svc" /> 
    </buildProviders> 
</compilation>

Ответы [ 2 ]

12 голосов
/ 03 августа 2009

В вашем файле web.config вам нужно добавить следующее, чтобы IIS перенаправил ответ вашему обработчику:

<compilation>
    <buildProviders>
        <remove extension=".svc" />
    </buildProviders>
</compilation>

Дополнительная информация о MSDN.

Добавление этого в качестве правильного ответа.

0 голосов
/ 05 июня 2009

Вы можете просто не использовать расширение .svc ... просто используйте все, что работает, и сообщите клиенту адрес. Может быть дополнительное слипание, связанное с этим конкретным расширением (динамическая компиляция и т. Д.).

...