我有一个WCF服务: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?wsdl/ClientA
https://myservice/service.svc?wsdl/ClientB
https://myservice/service.svc?wsdl/ClientC
https://myservice/service.svc?wsdl/asfgvafgfgf ... (this works too !!!)
请让我知道如何做到这一点。我不想为所有客户创建单独的服务。
如果这样做,我想在所有客户端的端点定义中使用不同的contract =“MyService.IService”,因为每个在服务中暴露的客户端的方法都会有所不同。
我也想问一下,我能够指定使用哪个连接字符串,具体取决于客户端通过哪个端点访问服务?
最后一点:我不想:
https://myservice/service.svc
https://myservice/service.svc?wsdl
链接进行访问,我希望客户机只使用其指定的链接...
是,在所有可能的,或者我应该创建为每个客户单独提供服务......?
谢谢。
你开始时没有“/”开头吗? –
你刚刚试过,不工作,资源管理器说,页面找不到(与最后一次尝试相同)我试图通过访问它:https://myservice/service.svc/ClientA ...(我在访问时做错了什么它,我的意思是有一些东西与我的链接错误...) – user402186