第五步:添加一个TCP Node Service终结点
上一步中我们已经完成了一个实现配置服务的宿主应用程序,在这一步中我们就可以使用那个宿主应用程序,并通过配置网站(ConfigWeb)来调整它的配置;这里我们要做的是添加一个基于TCP通讯的Node Service终结点来替换默认的基于HTTP通讯的Node Service终结点。
1.运行Tutorial.Host.exe宿主程序(可以在Visual Studio中通过F5启动)。
2.在浏览器中打开ConfigWeb站点(http://localhost/configweb)。
3.登录ConfigWeb,用户名为localadmin密码为yyy(或者你已经修改过的登录密码),使用http://localhost:8001/tutorial/config为终结点地址。
4.选择Hosted Svcs菜单项。
5.在Node Service Host栏中点击Select链接,你需要为Node Service Virtual Host添加一个新的终结点。
6.点击Add Service Endpoint按钮。
7.现在你需要设置如下的值,其余的都保留默认值即可。
Hosted Service Name: Tutorial Node Service Tcp
Binding Type: customTcpBinding
HostBindingConfigurationName: Host_NodeSvc_CustomTcpBinding
Internal Client Configuration Name: Client_NodeSvc_TcpBinding
Virtual Path: tutorial/node
Port: 8002 (务必把端口号改为8002, 因为之前设置的使用HTTP的默认端口已经是8001!)
Add Mex Endpoint for this Address: checked (可选).
8.点击Add按钮。
9.这个添加过程一般需要花费几秒钟时间。
10.点击Return to Hosted Services for this Virtual Host。
11.现在你可以看新添加的终结点已经出现在了列表中,并且提供的Hosted Service ID为4。
12.接下我们将要把新添加的TCP终结点激活为当前的Node Service终结点。
13.点击Configuration菜单项回到ConfigWeb主界面。
14.点击上图红色圈圈标注的Edit Configuration链接。
15.点击上图红色圈圈标注的NodeActiveServiceID设置的Change Value链接(注意这里不要选错了,选择了上面的NodeActiveDCServiceID设置项)。
16.在文本框中输入值为4,这个值就是你刚才新添加的Tcp/Binary终结点的Hosted Service ID。输入的值在提交后将被验证,并给出提示。
17.点击Update按钮。
18.点击Configuration主菜单项。
19.点击上图红色圈圈标注的SOA Map按钮。
20.现在你可以看到TCP终结点成为了激活的Node Service终结点。你可以通过浏览器来关闭SOA Map窗口。
通过这个示例我们了解到通过配置网站(ConfigWeb)来调整实现了配置服务应用程序的设置是如此的方便和简单。我们有时候甚至不需要修改应用程序的任何配置文件或代码,更谈不上重新编译和部署了就能把一种设置调整到另一种全新的设置中去。而且通过底层的通知服务还能把设置的调整快速通知到其他子系统或群集节点中去,这或许就是整个配置服务体系被人所津津乐道的原因吧。