控制台程序以NetTCP方式部署WCF
- 格式:doc
- 大小:19.00 KB
- 文档页数:1
控制台程序以NetTCP方式部署WCF
1、VS 2010新建项目,模板选择WCF服务库。
2、编写接口及实现代码,如果需要在服务端实时显示调用情况,可以添加输出信息,也可将记录保存到文本文件中,以生成日志。
3、编辑该服务项目,最终版本需Release。
4、另外新建控制台程序项目,添加引用,选择服务项目。
5、添加引用:System.ServiceModel,并在主程序中编写服务开启:
using (ServiceHost host = new ServiceHost(typeof(Wcf1.Service1)))
{
host.Opened += delegate
{
Console.WriteLine("Service已经启动,按任意键终止服务!");
};
host.Open();
Console.Read();
}
6、将服务项目中的app.config拷贝到托管项目中,并用WCF配置工具进行设置。
如果同时有wsHttpBinding和netTcpBinding,需要建立两个基地址,如
http://localhost:8050/Wcf1/Service1/
net.tcp://localhost:8052/Wcf1/Service1/
另外,需要建立4个终结点,分别是wsHttpBinding、 mexHttpBinding和netTcpBinding、mexTcpBinding,netTcpBinding可以参照wsHttpBinding进行设置。
7、将部署项目进行编译,最终版本使用Release。
8、将编译好的程序拷贝到服务器,一般只需三个文件:一个EXE文件、一个与EXE同名的配置文件、一个WCF服务文件。
修改其中的配置文件,主要修改地址和端口。
9、在服务器运行控制台程序。
10、为服务器防火墙开启相应端口号,一般只需开启入站规则,如果IIS上已开启了部分端口,对于控制台服务需另外开启新的端口。
11、用VS建立客户端程序,添加服务引用,可拷贝服务配置文件中的地址,然后修改IP地址,wsHttpBinding以http开头,netTcpBinding需以net.tcp开头,添加前往即可发现服务内容。
12、在客户端会自动生成app.config文件,右击编辑WCF配置,修改终结点的地址为服务器的地址。
13、编写客户端调用服务程序:
ServiceReference1.Service1Client client = new
ServiceReference1.Service1Client("NetTcpBinding_IService1");
client.ClientCredentials.Windows.ClientCredential.Domain = "192.168.1.1";
erName = "Administrator";
client.ClientCredentials.Windows.ClientCredential.Password = "123456";
如果服务端同时配置了多个绑定,在生成客户端代理里需写明相应的终结点名称,可从app.config 中查找。
14、运行客户端程序,进行测试,同时可查看服务端程序的输出内容是否正常。
15、经测试,首次连接时会有几秒种的延迟,随后会很快。