WCF 多个 Http/Https 端点问题 [重复]
Posted
技术标签:
【中文标题】WCF 多个 Http/Https 端点问题 [重复]【英文标题】:WCF Multiple Http/Https Endpoints problem [duplicate] 【发布时间】:2011-09-19 16:58:02 【问题描述】:可能重复:WCF Service multiple endpoint configuration
我有 WCF 服务:
https://myservice/service.svc
https://myservice/service.svc?wsdl
以下是我的 WCF 应用程序的 web.config 的相关部分(如果您需要更多信息,请告诉我):
<bindings>
<basicHttpBinding>
<binding name="basicHttp">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="MyService.ServiceBehavior">
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="SqlMembershipProvider"/>
</serviceCredentials>
<serviceThrottling maxConcurrentCalls="100" maxConcurrentInstances="100" maxConcurrentSessions="100"></serviceThrottling>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MyService.ServiceBehavior" name="MyService.Service">
<endpoint address="/ClientA" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"></endpoint>
<endpoint address="/ClientB" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"></endpoint>
<endpoint address="/ClientC" binding="basicHttpBinding" bindingConfiguration="basicHttp" name="basicHttpEndpoint" contract="MyService.IService"></endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
我希望我的客户能够通过以下链接访问该服务,但这些链接不起作用:(或者我的语法对于下面的链接可能是错误的,如果是这种情况,请告诉我)
https://myservice/service.svc/ClientA
https://myservice/service.svc/ClientB
https://myservice/service.svc/ClientC
以下链接有效,但我不认为这是由于我的配置,好像我在最后一个正斜杠之后写了任何东西它仍然有效....
https://myservice/service.svc?wsdl/ClientA
https://myservice/service.svc?wsdl/ClientB
https://myservice/service.svc?wsdl/ClientC
https://myservice/service.svc?wsdl/asfgvafgfgf ... (this works too !!!)
请告诉我如何实现这一点。我不想为所有客户创建单独的服务。
【问题讨论】:
对不起,但我真的坚持这个,我需要一些答案,我的主题问题在问题的海洋中得到了回答,所以再问一次,如果你可以删除最后一个(或者如果你可以告诉我怎么做)..我很乐意删除那个..但是请让它活着......我需要一些出路...... 【参考方案1】:尝试从端点地址中去掉“/”(就像 mex 端点地址一样)。地址假定为相对路径。
在我的机器上的示例应用程序中,网址看起来像......
http://localhost:56988/Service1.svc?ClientA
【讨论】:
做到了,也不管用...。告诉我一件事,如果删除'/'来测试它是否有效,我应该在浏览器中输入什么...myservice/service.svc/ClientA ???我试过了,没用!!! 试试localhost:56988/Service1.svc?vaifhebvifuvb它仍然可以工作......以上是关于WCF 多个 Http/Https 端点问题 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何将单个 WCF 服务配置为具有多个 HTTP 和 HTTPS 端点?
具有多个合同的 Mono WCF 休息服务“配置文件中未定义端点”