我正在使用Visual Studio Express 2010,我创建了名为OperatorService.svc的WCF服务。我的App_Code IOperatorService.cs和OperatorService.cs中添加了两个文件。 我的web.config已更新为
<system.serviceModel>
<services>
<service name="OperatorService">
<endpoint address="https://ssl.mysite.com/WCF/OperatorService"
binding="ws2007HttpBinding"
bindingConfiguration="SecurityByTransport"
contract="IOperatorService" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="SecurityByTransport">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
现在,当我尝试在线访问此服务时,创建EndPoint会出错,但我无法确定如何创建EndPoint,尤其是当WCF地址为SSL HTTPS:启用网站时。
有人可以帮忙吗?
答案 0 :(得分:3)
如果您是IIS主机,则端点地址应为空或相对地址。
WCF服务可以有基地址。基址定义了服务可以侦听的地址空间的核心部分,并且相对于该基址定义了端点。如果将地址留空,则端点将侦听基址。
当您自托管时,您可以通过几种不同的方式指定基址:在ServiceHost构造函数或配置文件中。但是,如果您是IIS主机,那么基址已经是给定的 - 它是.svc文件的位置
就HTTPS而言,如果您说您正在使用传输安全性,那么基本地址将自动映射到HTTPS,只要在IIS管理器中作为Web应用程序中的协议启用即可。但是,如果您使用的是Visual Studio Web开发服务器(也称为Cassini),那么它不支持SSL
答案 1 :(得分:2)
启动WCF配置工具(SvcConfigEditor.exe,它在Visual Studio菜单中可用,否则路径应为C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0 \ Bin)并打开您的配置文件,它是帮助您进行正确配置的GUI工具。
配置文件中的错误是一个不完整的端点元素,您需要在端点上指定一些属性才能使其工作。最简单的方法是使用配置工具,但当然它可以手写。 MSDN有关于语法的参考。