【转】WCF 取得客户端IP

it2022-05-09  35

简单定义一个服务:           using  System; using  System.Collections.Generic; using  System.Linq; using  System.Runtime.Serialization; using  System.ServiceModel; using  System.Text; namespace  ClientInfoSample {    [ServiceContract]    public interface IService    {        [OperationContract]        string GetData(string value);    }} 在建立通道之后按照可以取得: using  System; using  System.Collections.Generic; using  System.Linq; using  System.Runtime.Serialization; using  System.ServiceModel; using  System.Text; using  System.ServiceModel.Channels;  namespace  ClientInfoSample {    public class MyService : IService    {        public string GetData(string value)        {            OperationContext context = OperationContext.Current;            MessageProperties essageProperties = context.IncomingMessageProperties;            RemoteEndpointMessageProperty endpointProperty =            messageProperties  [RemoteEndpointMessageProperty.Name]                as RemoteEndpointMessageProperty;            return string.Format("Hello {0}! Your IP address is {1} and your port is {2}",  value, endpointProperty.Address, endpointProperty.Port);        }    }} config: <? xml version="1.0" encoding="utf-8"  ?> < configuration >    < system.web >      < compilation  debug ="true"   />    </ system.web >    < system.serviceModel >      < services >        < service  name ="ClientInfoSample.MyService"  behaviorConfiguration ="ClientInfoSample.MyServiceBehavior" >          < host >            < baseAddresses >              < add  baseAddress  = "http://localhost:8731/Design_Time_Addresses/ClientInfoSample/MyService/"   />            </ baseAddresses >          </ host >          < endpoint  address  =""  binding ="wsHttpBinding"  contract ="ClientInfoSample.IService" >            < identity >              < dns  value ="localhost" />            </ identity >          </ endpoint >          < endpoint  address ="mex"  binding ="mexHttpBinding"  contract ="IMetadataExchange" />        </ service >      </ services >      < behaviors >        < serviceBehaviors >          < behavior  name ="ClientInfoSample.MyServiceBehavior" >            < serviceMetadata  httpGetEnabled ="True" />            < serviceDebug  includeExceptionDetailInFaults ="False"   />          </ behavior >        </ serviceBehaviors >      </ behaviors >    </ system.serviceModel > </ configuration >

转载于:https://www.cnblogs.com/chenlhuaf/archive/2008/06/03/1212833.html

相关资源:数据结构—成绩单生成器

最新回复(0)