WCF:修复使用externalMetadataLocation时的端点地址
WCF允许您指定应与服务一起发布的外部WSDL文件,而不是WCF生成的WSDL。在WSDL优先的设计方法中,发布源WSDL而不是生成的WSDL非常有意义 这是使用externalMetadataLocation设置的:WCF:修复使用externalMetadataLocation时的端点地址,wcf,Wcf,WCF允许您指定应与服务一起发布的外部WSDL文件,而不是WCF生成的WSDL。在WSDL优先的设计方法中,发布源WSDL而不是生成的WSDL非常有意义 这是使用externalMetadataLocation设置的: <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" externalMetadataLocation="path_to_my_wsdl.wsdl"/&g
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" externalMetadataLocation="path_to_my_wsdl.wsdl"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
我遇到的问题是,当我这样做时,它会直接为WSDL提供服务,而WSDL具有错误的端点地址。我希望在运行时将端点地址替换为服务的实际端点地址(根据部署位置的不同而有所不同)
有没有一种简单的方法可以做到这一点?我不是WCF专家,但您不能通过在配置文件(web.config)的端点上指定它来做到这一点,例如:
<system.serviceModel>
<services>
<service>
<endpoint
listenUri="https://yourdomainname.com/servicename.svc"
address="https://yourdomainname.com/servicename.svc">
注意:“listenUri”是物理地址,端点“address”是逻辑地址。即“listenUri”是服务的真正所在,而端点是客户端所要求的
如果它们是一样的,我相信你不需要听