2009-05-04 12 views
0

私はWCFサービスを持っています。どちらがGetとSaveという2つのメソッドを持っていますか? GetメソッドとGetメソッドの両方を消費する必要がある間に、サービスを消費するサードパーティにGetメソッドのみを公開したい。OperationContractに記載されていないメソッドを消費する

OperationContractにないメソッドを使用する方法はありますか?私は要求のホスト名を検証し、アプリケーションのホスト名である場合にのみアクセスを許可することを考えています。

答えて

4

GetSetの両方がOperationContractsである2番目のServiceContractを作成してみませんか?それで、あなたはこの第二の契約を得ることができる人を縛ることができます。

string GetAddressAsString() 
{ 
      RemoteEndpointMessageProperty clientEndpoint = 
         OperationContext.Current.IncomingMessageProperties[ 
         RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; 

        if (clientEndpoint != null) 
        { 
         return String.Format("{0}:{1}", clientEndpoint.Address, clientEndpoint.Port); 
        } 
        return "Failed to identify address"; 
} 
:ここ
[ServiceContract] 
public interface IFoo 
{ 
    [OperationContract] 
    void Get(); 
} 

[ServiceContract] 
public interface IFooInternal : IFoo 
{ 
    [OperationContract] 
    void Set(); 
} 
0

は、ホストのIPアドレスを識別するためのコードです
関連する問題