/////////////////////////host
using System;
using System.ServiceModel;
using System.Text;
///host
namespace Host
{
public class Host :IHost
{
#region IHost 成员
public string Hello()
{
return string.Format("Hello Access Date:'{0}'", DateTime.Now);
}
#endregion
}
[ServiceContract]
public interface IHost
{
[OperationContract]
string Hello();
}
}
///////////////////////////////end host
///////////////////////////service wcf
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;
using Host;
namespace ServiceWCF
{
class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(Host.Host)))
{
host.AddServiceEndpoint(typeof(IHost), new NetTcpBinding(), "net.tcp://locahost:9000/Hello");
host.Open();
Console.WriteLine("service start aucceed!");
Console.ReadKey();
}
}
}
}
////////////////////////////////end service wcf//////////////////////
/////////////////////client wcf
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;
namespace ClientWCF
{
class Program
{
static void Main(string[] args)
{
IHost proxy = ChannelFactory<IHost>.CreateChannel(new NetTcpBinding(), new EndpointAddress("net.tcp://200.1.3.27:9000/Hello"));
string acc = proxy.Hello();
Console.WriteLine(acc);
Console.ReadKey();
}
}
[ServiceContract]
public interface IHost
{
[OperationContract]
string Hello();
}
}
////////////////////////////end client wcf
//////////服务端app.config配置文件,,,实现http功能
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<!-- namespace.class -->
<service name ="Host.Host" behaviorConfiguration ="CalculatorServiceBehavior">
<!-- class.method -->
<endpoint binding="basicHttpBinding" contract="Host.IHost" address="Hello"/>
<endpoint binding="mexHttpBinding" contract="IMetadataExchange" address="mex" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:9100"/>
</baseAddresses>
</host>
</service>
</services>
<!--定义CalculatorServiceBehavior的行为-->
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>