代码之家  ›  专栏  ›  技术社区  ›  danish

使用OperationContract中未提及的方法

  •  0
  • danish  · 技术社区  · 17 年前

    我有WCF服务。它有两种方法,即get和save。我只想向将使用该服务的第三方公开get方法,而我的应用程序应该能够同时使用get和save。

    有没有一种方法可以使用OperationContract中没有的方法?我正在考虑验证请求的主机名,并且仅当它是我的应用程序的主机名时才授予访问权。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Andrew Hare    17 年前

    为什么不创造一秒钟 ServiceContract 两者兼有 Get Set 作为 OperationContracts ?然后你可以锁定谁可以得到第二份合同。

    [ServiceContract]
    public interface IFoo
    {
        [OperationContract]
        void Get();
    }
    
    [ServiceContract]
    public interface IFooInternal : IFoo
    {
        [OperationContract]
        void Set();
    }
    
        2
  •  0
  •   Adam Berent    16 年前

    下面是识别主机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";
    }
    
    推荐文章