gpt4 book ai didi

c# - 如何通过 ServiceBehavior 配置启用 WCF 帮助页面?

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:40 26 4
gpt4 key购买 nike

我希望为配置有 <ServiceBehavior> 的 WCF 服务启用生成的帮助页面而不是 <EndpointBehavior> .我 95% 的搜索结果都与 <EndpointBehavior> 有关我为 <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 服务。

最佳答案

ServiceDebugElement HttpHelpPageEnabledHttpHelpPageUrl 属性提供了一种启用自定义帮助页面的机制。但是,这些属性不会自动告诉服务器生成自定义页面。为了提供您自己的自定义帮助内容,您需要为静态 html 帮助页面或返回自定义帮助页面的端点提供 URL(如您引用的文章中所述)。
问候,

关于c# - 如何通过 ServiceBehavior 配置启用 WCF 帮助页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21417110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com