码迷,mamicode.com
首页 > 其他好文 > 详细

WCF Service Configuration Editor的使用

时间:2014-06-14 22:39:38      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

WCF Service Configuration Editor的使用

2014-06-13

通过WCF Service Configuration Editor的配置
修改Client端

 

在上篇文章创建一个简单的WCF程序中, 使用WCF Service Configuration Editor工具生成XML文件来进行WCF的配置,而不是在CS文件中敲代码。

通过WCF Service Configuration Editor的配置


返回

以下是使用WCF Service Configuration Editor的的操作步骤:

1.打开VS,在Hosting项目中右键,新建一个App.config文件。

2.点击菜单栏Tools选项,在下拉菜单中选择WCF Service Configuration Editor。

3.在弹出的工具窗口中选择“File->open->Config File”。找到刚才建的App.config文件,并打开。

4.新建一个服务,如下图所示,先点击“创建新的服务”链接,再找到Service项目中的WcfServices.Services.CalculatorService服务。

bubuko.com,布布扣

5.点击下一步,找到Contracts项目中的ICalculator契约。

6.下一步,选择Http的通信方式。

7.点击下一步,选择Basic Web Service Interoperability。

bubuko.com,布布扣

8.点击下一步,输入服务端Endpoint地址: http://localhost:8080/calculatorservice 。下一步Finish。

9.为服务添加行为(Behavior),这步很重要。在Advanced目录下,右键新建一个Service行为,New Service Behavior Configuraton。然后对行为重命名为CalculatorBehavior,并设置HttpGetEnabled为true。如下图所示:

 bubuko.com,布布扣

10.这些做好了之后,我们回到最上面的Service目录,为Calculator服务添加刚才配的CalculatorBehavior行为配置。如下图所示:

bubuko.com,布布扣

11.接着配置Host的地址,选中Host,然后点击右下方的New Base Address,输入: http://localhost:8080/calculatorservice

12.可以新添加一个服务端的Endpoint,用于配置WS-MetadataExchange,当然也可以不加。在Services目录下的Endpoint右键,新建一个Endpoint,名字和地址随意,保证Binding是mexHttpBinding。  

13.Ctrl+S保存,这样App.config文件就自动写满了,如下:

bubuko.com,布布扣
 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3     <system.serviceModel>
 4         <behaviors>
 5             <serviceBehaviors>
 6                 <behavior name="CaclulaterBehavior">
 7                     <serviceMetadata httpGetEnabled="true" />
 8                 </behavior>
 9             </serviceBehaviors>
10         </behaviors>
11         <services>
12             <service behaviorConfiguration="CaclulaterBehavior" name="WcfServices.Services.CalculatorService">
13                 <endpoint address="http://localhost:8080/calculatorservice" binding="basicHttpBinding"
14                     bindingConfiguration="" contract="WcfServices.Contracts.ICalculator" />
15                 <host>
16                     <baseAddresses>
17                         <add baseAddress="http://localhost:8080/calculatorservice" />
18                     </baseAddresses>
19                 </host>
20             </service>
21         </services>
22     </system.serviceModel>
23 </configuration>
View Code

14。修改Hosting类的代码,删改后如下:

bubuko.com,布布扣
using System;
using System.ServiceModel;
using WcfServices.Services;

namespace WcfServices.Hosting
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
            {
                host.Opened += delegate
                {
                    Console.WriteLine("CalculaorService have started, press any key to stop it!");
                };
 
                host.Open();
                Console.Read();
            }
        }
    }
}
View Code

 

注意

1 <endpoint address="" binding="basicHttpBinding" name="Calculator"   Contract="Contracts.ICalculator" >
2   <host>
3       <baseAddress>
4           <add baseAddress="http://localhost:8080/CalculatorService"/>
5       </baseAddress>
6   </host>

endpiont的地址为空,只是配了Host的基地址。当然也可以直接配Endpoint的地址,不配Host的基地址。但如果host了多个服务呢?有多了Endpoint挂在同一个host下,那么配基地址就显得很重要。

 

修改Client端 


返回

打开客户端的项目(服务端不要关闭),选择Client项目下的Service Reference,在你的服务命名空间上右键,点击Update Service Reference。会生成新的app.config文件。

ClientApp的代码无须改变

 

参考:

[1] WCF Service Configuration Editor的使用  http://www.cnblogs.com/judastree/archive/2012/08/26/2657555.html

 

 

 

WCF Service Configuration Editor的使用,布布扣,bubuko.com

WCF Service Configuration Editor的使用

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/Ming8006/p/3786194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!