0

WCFサービスがあります。GetとSaveの2つの方法があります。Getメソッドのみをサードパーティに公開したいのですが、サードパーティはサービスを利用しますが、アプリケーションはGetとSaveの両方を利用できるはずです。

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

4

2 に答える 2

4

とのServiceContract両方を持つ秒をGet作成してみませんか?次に、この2番目の契約を結ぶことができる人をロックダウンすることができます。SetOperationContracts

[ServiceContract]
public interface IFoo
{
    [OperationContract]
    void Get();
}

[ServiceContract]
public interface IFooInternal : IFoo
{
    [OperationContract]
    void Set();
}
于 2009-05-04T10:57:42.503 に答える
0

ホストのIPアドレスを識別するためのコードは次のとおりです。

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";
}
于 2010-01-19T22:29:11.960 に答える