WCF Service Configuration Editor的使用
问题:
使用WCF Service Configuration Editor工具生成XML文件来进行WCF的配置,而不是在CS文件中敲代码。续上篇WCF入门的HelloWorld程序。
解决过程:
要取代上篇文章中HostApp.cs文件里的几行配置代码,使用工具配置步骤如下:(PS:如果对文件名有疑问,可以参看一个WCF入门的HelloWorld程序)
[*]打开VS,在Host项目中右键,新建一个App.config文件。
[*]点击菜单栏Tools选项,在下拉菜单中选择WCF Service Configuration Editor。
[*]在弹出的工具窗口中选择“File->open->Config File”。找到刚才建的App.config文件,并打开。
[*]新建一个服务,如下图所示,先点击“创建新的服务”链接,再找到Service项目中的Services.Helloworld服务。http://pic002.cnblogs.com/images/2012/440208/2012082617082696.png
[*]点击下一步,找到Contracts项目中的IHello契约。http://pic002.cnblogs.com/images/2012/440208/2012082617141090.png
[*]下一步,选择Http的通信方式。http://pic002.cnblogs.com/images/2012/440208/2012082617150751.png
[*]点击下一步,选择Basic Web Service Interoperability。(这 步忘截图了,Sorry!)
[*]点击下一步,输入服务端Endpoint地址,这个我们先不填,待会儿再配置host上填。(为什么这么做,待会在原理部分会有讲到)。下一步Finish。
[*]为服务添加行为(Behavior),这步很重要。在Advanced目录下,右键新建一个Service行为,NewBehavior。在它上右键,添加服务元数据的扩展。然后对行为重命名为HelloWorldBehavior,并设置HttpGetEnabled为true。如下图所示:http://pic002.cnblogs.com/images/2012/440208/2012082617274318.png
http://pic002.cnblogs.com/images/2012/440208/2012082617255386.png
[*]这些做好了之后,我们回到最上面的Service目录,为HelloWorld服务添加刚才配的HelloWorldBehavior行为配置。如下图所示:http://pic002.cnblogs.com/images/2012/440208/2012082617292932.png
[*]接着配置Host的地址,选中Host,然后点击右下方的New Base Address,输入http://localhost:8080/HelloServicehttp://pic002.cnblogs.com/images/2012/440208/2012082617324474.png
[*]可以新添加一个服务端的Endpoint,用于配置WS-MetadataExchange,当然也可以不加。在Services目录下的Endpoint右键,新建一个Endpoint,名字和地址随意,保证Binding是mexHttpBinding。
[*]Ctrl+S保存,这样App.config文件就自动写满了,如下:
http://pic002.cnblogs.com/images/2012/440208/2012082617404721.png
原理:
这个,工具生成XML的原理,我还真讲不出来,大标签套小标签的它都先做好了,你只要往里面填如参数就行。不过前面有个地址没有填,有必要提一下。在上面的XML文件中你会发现有这么一段:
<endpoint address="" binding="basicHttpBinding" name="Hello" Contract="Contracts.IHello" listenUriMode="Explict"/><host> <baseAddress> <add baseAddress="http://localhost:8080/HelloService"/> </baseAddress></host>
页:
[1]