2011-06-21 11 views
-4

可能性の重複エンドポイント:
WCF Service multiple endpoint configurationWCFの複数のHTTP/HTTPSが問題に

を私は、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 !!!) 

してくださいこれを達成する方法を教えてください。私はすべてのクライアントのために別々のサービスを作成したくありません。

+0

は申し訳ありませんが、本当にこれで立ち往生しています、私はいくつかの答えを必要とする、私のスレッド質問はの海の中に答え残っていましたあなたが最後のものを削除することができれば(もしあなたが私にそれをやる方法を教えてくれれば)、私はそれを削除することをお勧めします....しかし、これを生きさせてください...何らかの方法が必要です... – user402186

答えて

0

エンドポイントアドレスの '/'を外してみてください(mexエンドポイントアドレスと同様)。アドレスは相対パスを仮定します。

サンプルアプリで私のマシン上で

URLは次のようになります...

http://localhost:56988/Service1.svc?ClientA 
+0

これは、dosentがどちらの作業をしていても、私がブラウザに入力するものがあればテストするために '/'を取り除くと一つのことを教えてくれます... https:// myservice/service.svc/ClientA ???私はそれを試みた、それは動作しませんでした! – user402186

+0

http:// localhost:56988/Service1.svc?vaifhebvifuvbを試してみても問題ありません。 – user402186