我一直在研究在 VS 2008 中开发并在 Windows Server 2008、IIS 7.0 中托管的 WCF 服务,当我在本地环境中托管此服务时,它工作正常,但是当我在生产站点中托管此服务时它不工作。在此服务中,我使用 WShttpbinding 绑定,并且我使用的安全模式是消息,客户端凭据类型是“用户名”
<security mode= "Message">
<message clientCredentialType="UserName" />
</security>
在行为配置中,我正在使用
<behavior name="name">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" httpsGetUrl="https://serviceurl/basic"/>
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<serviceCertificate findValue="CN=WMSvc-AMAZONA-PJ1K606" />
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider" embershipProviderName="WCFSqlProvider" />
</serviceCredentials>
</behavior>
但是当我从客户端应用程序使用服务时,它给了我错误
没有通道在“//服务托管的机器名称/服务名称/$元数据”处主动侦听这通常是由不正确的地址 URI 引起的。确保将消息发送到的地址与服务正在侦听的地址相匹配。