WCF 第一个服务练习
1.定义接口(普通的request/reply模式)
2.实现接口
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]//意味着客户端close连接之前,会调用同一个//instance,默认是perCall,每次都是新实例。还有一个是Single,即所有请求共用一个实例
3.配置文件:
4.客户端添加服务引用,调用
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
}
2.实现接口
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]//意味着客户端close连接之前,会调用同一个//instance,默认是perCall,每次都是新实例。还有一个是Single,即所有请求共用一个实例
public class Service1 : IService1
{
private int count = 0;
public string GetData(int value)
{
count++;
return string.Format("You entered: {0} \n count is {1}", value,count);
}
}
3.配置文件:
<system.serviceModel>
<services>
<service name="WcfService1.Service1" behaviorConfiguration="myBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8001/"/>
</baseAddresses>
</host>
<endpoint address="WcfService1" binding="wsHttpBinding" contract="WcfService1.IService1" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
4.客户端添加服务引用,调用
ServiceReference1.Service1Client c1 = new ServiceReference1.Service1Client();
c1.Open();
string ret = c1.GetData(1);
Console.WriteLine(ret);
c1.Close();
Console.ReadKey();