WCF即微软为构建面向服务的应用程序所提供的统一编程模型。
构建WCF过程:
-
vs2017,新建一个空白解决方案,新建一个项目WcfDemo,包括一个接口类和一个实现类。再次建立一个控制台应用程序。这里接口类:IUserviceService和实现接口的类:UserInfoService及控制台程序:Host。
-
在ServiceDemo中引用System.ServiceModel,在接口类中创建服务契约和操作契约
using System.ServiceModel;
namespace WcfDemo
{
[ServiceContract] //服务契约
public interface IUserInfoService
{
[OperationContract] //操作契约
int Add(int a, int b);
}
}
- 在UserInfoService中实现接口IUserInfoService
public class UserInfoService : IUserInfoService
{
public int Add(int a, int b)
{
return a + b;
}
}
- 添加控制台ServiceHost的config文件地址;
4.(1).添加配置文件地址的代码直接复制此代码,只需修改以上两处即可
<!--添加配置文件-->
<system.serviceModel>
<services>
<service name="WcfDemo.UserInfoService" behaviorConfiguration="behaviorConfiguration">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WcfDemo.IUserInfoService"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="behaviorConfiguration">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
- 找到控制台的Program类,引用项目WcfDemo和System.ServiceModel
using System.ServiceModel;
using WcfDemo;
namespace Host
{
class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(UserInfoService)))
{
host.Open();
Console.WriteLine("启动完成");
Console.ReadKey();
}
}
}
如此图所示,此时Wcf服务端创建完成。