分类目录

链接

2013 年 7 月
1234567
891011121314
15161718192021
22232425262728
293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > .NET > 正文
WCF生成客户端
.NET 暂无评论 阅读(1,604)

1.    经过Svcutil.exe东西直接生成客户端

1.1     将效劳承载于IIS上

1.1.1 在IIS中新建网站,所示作用如下图:

1.1.2   新建WCF应用程序,项目文档布局如下图:

 

1.1.3   选中项目,点击右键在资源管理其间翻开文件,布局如下:

将上图中红框符号的文件复制至跟网站虚拟目录映射的物理途径下,通常都是在C盘,如下途径C:\inetpub\wwwroot

1.1.4 发动网站,并在阅读器中阅读,会看到如下的文档目录:

1.1.5  点击其间后缀为.svc的文件,看到如下作用,一起阅读器中的url即为下面咱们生成客户端调用类所用的参数

CalculatorService 效劳图

 

生成客户端调用类所需的效劳地址

1.2 翻开指令行提示符东西,输入一下指令,将目录定位到Svcutil.exe地点的目录。

Svcutil.exe目录通常坐落C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin文件夹下,所以指令如下:

Cd C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\

如图所示:

1.3 定位到该文件下之后,持续键入以下指令:

Svcutil.exe  /out:C:\CalculatorClient.cs  /config:\C:App.config

http://10.10.60.79:116/CalculatorService.svc

如图所示:

补白:

Svcutil东西生成客户端运用类有固定的语法参数,下面仅列出了该文所需的一些参数,至于其他的参数今后能够还会涉及到,有爱好的话能够去msdn上知道一些。

1)       “/out:”后跟生成文件的寄存途径+文件名+.cs

2)       “/config:”后跟生成文件的寄存途径+app.config

3)       http://....  为效劳的地址,此例中选用的是在IIS中承载,如果是在保管的应用程序中承载,还需要确保承载效劳的应用程序运转起来。Svcutil.exe经过该效劳 地址,生成下载客户段运用类,如果是自承载则该地址要跟配置文件中的节点下的节点中的地址是共同 的。

1.4 翻开在1.3中指定的生成客户端调用类的途径,即可找到生成的客户端调用类和配置文件

1.5 将生成的类文件和配置文件,增加到新建的客户端项目中即可。

2.    经过System.ServiceModel. ChannelFactory直接创立效劳署理目标

直接看一下经过ChannelFactory生成的客户端署理类的类文件:

?
namespaceZWCFServiceClient
{
//该效劳协议,跟效劳端的协议是相同的
    [ServiceContract(Namespace ="http://ZWCFService")]
    publicinterfaceICalculatorService
    {
        [OperationContract]
        doubleAdd(doublen1,doublen2);
        [OperationContract]
        doubleSubtract(doublen1,doublen2);
        [OperationContract]
        doubleMutiply(doublen1,doublen2);
        [OperationContract]
        doubleDevide(doublen1,doublen2);
    }
    classProgram
    {
       staticvoidMain(string[] args)
       {
            //首要经过以下高亮代码生成客户端调用目标
            EndpointAddress address =newEndpointAddress("http://localhost:8000/ZWCFService/CalculatorService");
            WSHttpBinding binding =newWSHttpBinding();
            ChannelFactoryfactory =newChannelFactory(binding, address);
            ICalculatorService calculator = factory.CreateChannel();
            Console.WriteLine("{0}+{1}={2}",1.2,2,3,calculator.Add(1.2, 2.3));
            Console.WriteLine("{0}-{1}={2}",3.4,2.3,calculator.Subtract(3.4, 2.3));
            Console.WriteLine("{0}*{1}={2}",4.5,3.4,calculator.Mutiply(4.5, 3.4));
            Console.WriteLine("{0}/{1}={2}",5.6,4.0,calculator.Devide(5.6, 4.0));
           Console.WriteLine("Operation Over");
           Console.WriteLine("Press any key to terminate the Console");
            Console.Read();
      }
    }
}

 

3.    经过在客户端增加效劳引证来生成客户端

3.1在客户端应用程序中,选中项目,点击右键à增加效劳引证,然后会弹出如下框

3.2 在地址栏里键入效劳的地址,然后点击前往

当效劳列表呈现对应的效劳时,阐明已找到该效劳

3.3 在命名空间栏里面为效劳从头界说命名空间,然后点击断定

3.4 在程序中直接经过在3.3中界说的命名空间+”.”+效劳名如:

CalculatorClient.CalculatorService  calculator=new CalculatorClient.CalculatorService();

这样就新建了一个客户端调用类,能够调用效劳。

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:WCF生成客户端 | Bruce's Blog

发表评论

留言无头像?