Visual Studio 2008 has made our WCF life a lot
easier
with the ability to self-host the services and also allow debugging
in our service.

What if we were pushed to a situation wherein we need to use the tool svcutil.exe to create our proxy for the client…hmm… :)

To do so, we need to have our service running. Once the service is up
and running, we could generate the proxy by the following command (replace the
tags correspondingly) :


   1: svcutil /t:code http://<service_url> 
   2:       /out:<file_name>.cs /config:<file_name>.config

Here is my example :


   1: C:\Users\Chaks\Documents\Visual Studio 2008\Projects\MyService\MyServiceHost>
   2: svcutil /t:code http://localhost:8731/Design_Time_Addresses/MyService/WcfService/ 
   3: /out:MyServiceProxy.cs /config:MyServiceProxy.config
   4: Microsoft (R) Service Model Metadata Tool
   5: [Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.648]
   6: Copyright (c) Microsoft Corporation.  All rights reserved.
   7:  
   8: Attempting to download metadata from 'http://localhost:8731/Design_Time_Addresse
   9: s/MyService/WcfService/' using WS-Metadata Exchange or DISCO.
  10: Generating files...
  11: C:\Users\Chaks\Documents\Visual Studio 2008\Projects\MyService\MyServiceHost\MyS
  12: erviceProxy.cs
  13: C:\Users\Chaks\Documents\Visual Studio 2008\Projects\MyService\MyServiceHost\MyS
  14: erviceProxy.config

Now we can add this .cs file to the Client project and copy the
.config file contents to the Client’s app.config file and
execute the client 8)

We can also instruct svcutil to generate the proxy in the preferred language
we want :


   1: svcutil /t:code /language=VB 
   2:      http://localhost:8731/Design_Time_Addresses/MyService/WcfService/ 
   3:          /out:MyServiceProxy.vb /config:MyServiceProxy.config

 

 

ServiceModel 元数据实用工具 (Svcutil.exe)

ServiceModel 元数据实用工具用于依据元数据文档生成服务模型代码,以及依据服务模型代码生成元数据文档。

元数据:用于描述要素、数据集或数据集系列的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。

Svcutil命令选项:

  • /async   同时生成同步和异步方法签名。默认设置:只生成同步方法签名。缩写形式:/a
  • /config:<配置文件>   为生成的配置文件指定文件名。默认设置:output.config
  • /out:<文件>   为生成的代码指定文件名。默认设置:派生自某个架构的 WSDL 定义名称、WSDL 服务名称或目标命名空间。缩写形式:/o
posted on 2012-02-03 17:02  Alan Yang  阅读(297)  评论(0编辑  收藏  举报