控制台程序以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、经测试,首次连接时会有几秒种的延迟,随后会很快。