私は、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/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 !!!)
どのように私に教えてください....
次のリンクは動作しますが、私は最後の前方後に何かを書き、それはまだ動作スラッシュかのように、これは、私の設定が原因であるとは思いませんこれを達成する。私はすべてのクライアントのために別々のサービスを作成したくありません。
この場合、私はサービスで公開されている各クライアントのメソッドが異なるため、すべてのクライアントのエンドポイント定義で異なるcontract = "MyService.IService"を使用します。
また、どのエンドポイントクライアントがサービスにアクセスしているかによって、使用する接続文字列を指定することができますか?
そして最後に:私はいけない:アクセスできるようにする
https://myservice/service.svc
https://myservice/service.svc?wsdl
リンクを、私はクライアントが唯一の彼らの指定されたリンクを使用したい...
は、そのすべてで可能である、または私が作成する必要があります各クライアントの個別のサービス...?
ありがとうございました。
「/」を付けずに試し始めましたか? –
yehちょうど試みた、動作しない、エクスプローラはページが見つかりません(最後の試行と同じ)私はそれを介してアクセスしようとしていると言う:https://myservice/service.svc/ClientA ...(私はアクセスしながら何か間違っているそれは、私のリンクに何か問題があるということです...) – user402186