Я ищу, чтобы включить сгенерированные страницы справки для службы WCF, которая настроена с помощью <ServiceBehavior>
вместо <EndpointBehavior>
. 95% моих поисков приводит к чему-то связанному с <EndpointBehavior>
, и то, что мало что можно найти для <ServiceBehavior>
, либо без ответа, либо без деталей, либо просто не работает.Как включить страницы справки WCF через конфигурацию ServiceBehavior?
Я не являюсь создателем этой службы, которая размещена в IIS, но ей было поручено включить страницы справки для службы. Из того, что я нашел, я должен просто включить атрибут httpHelpPageEnabled
под элементом ServiceDebug, но это ничего не делает, и добавление httpHelpPageUrl
разбивает всю услугу при просмотре в браузере.
Конфигурация: соответствующая рубрика в любом случае.
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true" />
<bindings>
<basicHttpBinding>
<binding name="serviceBinding">
<security mode="None">
</security>
</binding>
</basicHttpBinding>
<wsHttpBinding>
<binding name="serviceWsBinding">
<security mode="None">
</security>
</binding>
</wsHttpBinding>
</bindings>
<client />
<services>
<service behaviorConfiguration="ServiceBehavior" name="ServicesLib.Service">
<endpoint listenUri="soap" name="soap" address="http://servicesdev.mySite.com/services/Service.svc/soap" binding="basicHttpBinding" bindingConfiguration="serviceBinding" contract="ServicesLib.IService" />
<endpoint listenUri="soap12" name="soap12" address="http://servicesdev.mySite.com/services/Service.svc/soap12" binding="wsHttpBinding" bindingConfiguration="serviceWsBinding" contract="ServicesLib.IService" />
<host>
<baseAddresses>
<add baseAddress="http://servicesdev.mySite.com/services" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<!-- These EndpointBehaviors aren't used, they are just here :? -->
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp />
</behavior>
<behavior name="soapBehavior">
<webHttp helpEnabled="true" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" externalMetadataLocation="../Services.wsdl" />
<serviceDebug includeExceptionDetailInFaults="true" httpHelpPageEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Если это не правильный подход по какой-либо причине, возможно, кто-то может мне точку в правильном направлении хостинг пользовательских справки страницы? Я читал this post о решении для размещения одного из службы Windows, но я не уверен, как добавить это в службу WCF, которая будет размещаться рядом с сервисом таким же образом.
Я буду больше смотреть на этот путь завтра, поскольку, полагаю, мне придется пойти по этому пути. – WebDevNewbie
После дальнейших исследований мы решили перейти со статической html-страницей. Спасибо за разъяснение по этому поводу. – WebDevNewbie