最近因为工作需要,需要做一个WCF服务程序。之前没有接触过,走了不少弯路,为了以后能记住,特意写篇文章记录下!
一、新建WCF程序
二、添加方法
接口代码如下:
[ServiceContract]
public interface IService
{
[OperationContract]
[WebGet(UriTemplate = "Add?x={x}&y={y}", ResponseFormat = WebMessageFormat.Xml)]
Operate Add(double x, double y);
[OperationContract]
[WebGet(UriTemplate = "Sub?x={x}&y={y}", ResponseFormat = WebMessageFormat.Xml)]
Operate Sub(double x, double y);
}
实现代码如下:
public class Service : IService
{
public Operate Add(double x, double y)
{
Operate op = new Operate();
op.X = x;
op.Y = y;
op.Result = x + y;
return op;
}
public Operate Sub(double x, double y)
{
Operate op = new Operate();
op.X = x;
op.Y = y;
op.Result = x - y;
return op;
}
}
Operate类
[DataContract]
public class Operate
{
[DataMember]
public double X { get; set; }
[DataMember]
public double Y { get; set; }
[DataMember]
public double Result { get; set; }
}
三、修改配置文件
<services>
<service name="WcfServiceTest.Service">
<endpoint binding="webHttpBinding" address="" contract="WcfServiceTest.IService" behaviorConfiguration="webHttp">
</endpoint>
</service>
</services>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp />
</behavior>
</endpointBehaviors>
四、测试
五、发布
发布过程与发布普通的Web程序过程一样,注意必须要勾选Framework 3.5。WIN 7的设置截图如下,在Windows Server 2008中,
计算机->右键属性->功能->添加功能中。