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.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);
}
}
}
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 >
< 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 >