问题 配置WCF服务(Web.config) - HttpsGetEnabled,HttpsGetUrl


我正在尝试将带有WCF服务的Silverlight部署到托管服务器。基本上,我和这个家伙有同样的问题: 如何配置WCF服务以在没有HTTP绑定的情况下通过HTTPS工作? 除了解决方案不适合我。

//编辑:我一直错误地粘贴它,但它仍然无效。

我试过Ladislav Mrnka的答案 - 在Web.config文件中更改了这个:

  <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />

当我导航到服务器上的.svc文件时,仍会出现可怕的错误:

The HttpsGetEnabled property of ServiceMetadataBehavior is set to true and the
HttpsGetUrl property is a relative address, but there is no https base address.
Either supply an https base address or set HttpsGetUrl to an absolute address.

3078
2018-06-20 20:25


起源

如果您的服务是.NET 4,那么您是否检查过应用程序池是否设置为使用.NET 4? - Marcel N.
托管应支持.NET 4.最初,我将目标框架设置为4.5,但这应该可行。 - lukfi
您的<serviceBehaviors>标签是否已关闭?从您的配置示例中,它似乎不是。 - Marcel N.
是的我一直把它粘贴在错误的地方。现在它应该是正确的,我只是在适当的位置更改了httpGetEnabled和httpsGetEnabled(它已经在配置文件中)。但我仍然得到错误。我应该在某处指定HttpsGetUrl吗?哪里? - lukfi


答案:


现在它应该是正确的,我只是改变了httpGetEnabled和   httpsGetEnabled在适当的位置(它已经在配置文件中)。   但我仍然得到错误。我应该指定HttpsGetUrl   某处?哪里?

是的,看 这里

应该:

<behaviors>
 <serviceBehaviors>
  <behavior name="NewBehavior">
    <serviceMetadata httpsGetEnabled="true" 
     httpsGetUrl="https://myComputerName/myEndpoint" />
  </behavior>
 </serviceBehaviors>
</behaviors>

15
2018-06-20 20:47



myEndpoint是.svc文件? - lukfi
是。它在我的答案的URL中的示例中显示。 - Marcel N.
哈!在上传配置文件达到数万亿次之后,.svc似乎正在运行!使用它的应用程序仍然无效(我无法访问的例外),但这是针对不同的问题。现在,谢谢。 - lukfi
它仍然不适用于此。 - Mukus


在配置中,在您设置httpsGetEnabled =“true”的行为下, 同时设置httpsGetUrl =“https:// UserSystemName / EndPointName”并解决问题。

<behaviors>
  <serviceBehaviors>
    <behavior name="mexBehaviour">
      <serviceMetadata httpsGetEnabled="true" httpsGetUrl="https:///UserSystemName/EndPointName"/>
    </behavior>
  </serviceBehaviors>
</behaviors>

0
2017-10-04 06:52