gpt4 book ai didi

wcf - 设置 SSL 以与 Azure 上的 WCF 配合使用的步骤是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:31 27 4
gpt4 key购买 nike

请发布您在 Azure 上设置 SSL 以与 WCF 配合使用所采取的步骤。

我有我的valid certificate uploaded成功( using cspack )并与站点的其余部分一起工作,但添加它后,我之前工作的 WCF 服务停止工作。 (我得到的只是返回到 Silverlight 的 404 错误,这不是很有帮助。投票给任何提出更好日志记录的人,我也可以这样做来帮助诊断问题!)

我对此配置尝试了多种变体:

<system.serviceModel>
<!--start added for SSL-->
<bindings>
<basicHttpBinding>
<binding name="SecureBasicHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<!--end added for SSL-->
<behaviors>
<!--start added for SSL-->
<endpointBehaviors>
<behavior name="DisableServiceCertificateValidation">
<clientCredentials>
<serviceCertificate>
<authentication certificateValidationMode="None"
revocationMode="NoCheck" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
<!--start added for SSL-->
<serviceBehaviors>
<behavior name="Silverheat.Cloud_WebRole.API.DataServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<!-- certificate checking removed -->
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service behaviorConfiguration="Silverheat.Cloud_WebRole.API.DataServiceBehavior"
name="Silverheat.Cloud_WebRole.API.DataService">
<!--<endpoint address="" binding="basicHttpBinding" contract="Silverheat.Cloud_WebRole.API.DataService" />-->
<endpoint bindingConfiguration="SecureBasicHttpBinding"
behaviorConfiguration="DisableServiceCertificateValidation"
address="" binding="basicHttpBinding"
contract="Silverheat.Cloud_WebRole.API.DataService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>

不幸的是,调试它并获取更多信息非常困难,因为我无法像在实时服务器上使用的那样远程单步调试任何配置,因为 bindings tag has problems正在调试(但不是实时)。

感谢您的帮助和关注!

最佳答案

哇!它还活着!它的工作!!

在调试 ( security exception ) 中仍然不起作用,但我会忍受它直到下一个版本。

这是有效的配置:

  <system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SecureBasicHttpBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Silverheat.Cloud_WebRole.API.DataServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service behaviorConfiguration="Silverheat.Cloud_WebRole.API.DataServiceBehavior"
name="Silverheat.Cloud_WebRole.API.DataService">
<endpoint bindingConfiguration="SecureBasicHttpBinding"
address="" binding="basicHttpBinding"
contract="Silverheat.Cloud_WebRole.API.DataService" />
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>

(我认为是“mexHttpsBinding”使它最终起作用,尽管我不完全理解为什么它在配置后需要元数据,回到我猜的书)

我仍然想知道如何为 WCF 启用某种日志记录,但我会进一步浏览这个很棒的网站,我相信我会找到答案。

关于wcf - 设置 SSL 以与 Azure 上的 WCF 配合使用的步骤是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604573/

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