У меня есть веб-сайт, на котором размещена служба WCF и HttpHandler. Когда я включаю aspNetCompatibilityEnabled, HttpHandler начинает собирать мои запросы WCF. Я не думаю, что это может произойти, потому что он имеет расширение .svc и обработчики не настроены для обработки файлов .svc. Обработчик зарегистрирован так:
<system.webServer>
<handlers>
<add name="TTPDeploy" path="*.deploy" verb="*" type="ServiceHost.DeploymentHandler" resourceType="Unspecified" preCondition="integratedMode" />
<add name="TTPManifest" path="*.manifest" verb="*" type="ServiceHost.DeploymentHandler" resourceType="Unspecified" preCondition="integratedMode" />
<add name="TTPApplication" path="*.application" verb="*" type="ServiceHost.DeploymentHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode" />
</handlers>
</system.webServer>
Я уверен, что это просто потому, что я чего-то не понимаю в WCF и HttpHandlers. Мысли? * * 1004
Обновление
Я решил проблему другим способом. Поскольку я не мог заставить мои запросы WCF работать, когда для aspNetCompatibilityEnabled установлено значение true, я вернул его обратно в значение false.
Моя основная проблема заключалась в том, что мне нужно было получить физический путь к файлу из моей сети с помощью вызова WCF. Я нашел другой пост (который я не могу найти сейчас), в котором говорится, что при использовании WCF для получения физического пути к приложению вы должны использовать HostingEnvironment.ApplicationPhysicalPath
. Это гораздо более прямой подход к проблеме, но он все еще не отвечает на этот вопрос.
Почему мой обработчик принимает мои запросы WCF, если он не зарегистрирован в файлах .svc?