Служба WCF выдает Http404 по любому запросу, кроме .svc
Я создал библиотеку служб WCF в проекте MVC и установил файл MySerice.svc и Web.Config в проекте следующим образом:
<!--added to run WCF service -->
<system.serviceModel>
<!-- this multipleSiteBindingsEnabled for remote access -->
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="True" />
<services>
<service name="SchoolProject.WCF.SchoolProjectService" behaviorConfiguration="ServiceBehaviour">
<endpoint address="" binding="webHttpBinding" contract="SchoolProject.WCF.ISchoolProjectService" behaviorConfiguration="web" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<!-- end-->
Ответы
Ответ 1
К счастью, я получил ответ на изменение файла RouteConfig.Cs следующим образом
От
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Для
routes.IgnoreRoute("{resource}.svc/{*pathInfo}");
пока вы должны поместить ваш .svc файл в корневое приложение.
Это работало для меня как шарм. Надеюсь, это поможет кому-то! Удачи