通过编程方式使用slsvcutil.exe工具自动生成客户端代理服务代码

时间:2012-07-20 07:50:52

标签: c# silverlight-4.0 slsvcutil

我们将打开用于创建客户端代理的Visual stdio命令提示符2010(svcutil.exe)工具,并且将使用此工具创建自动生成的代码。

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config localhost:8000/...

相同的过程将使用System.CodeDom.Compiler.CodeGenerator命名空间以编程方式创建自动生成代理代码,而无需在新窗口中打开svcutil.exe工具。

我需要,如何使用slsvcutil.exe工具以编程方式为silverlight 4.0应用程序执行此操作?如何使用c#源代码为slsvcutil.exe工具创建自动生成代理代码而不打开新的VS命令提示符?我需要C#源代码。

我们可以使用System.Diagnostics.Process命名空间将此工具作为进程执行,但这是我们只能应用于Windows身份验证或设置用户名和密码。这不是客户设置凭据的便捷方式。

有没有其他解决方案可以使用slsvcutil工具以编程方式创建客户端代理?是否可以将svcutil代理代码更改为silverlight slsvcutil代理代码? Silverlight 4.0中有哪些命名空间可以下载服务元文档?

1 个答案:

答案 0 :(得分:0)

svcutil生成代理的关键是使用生成的代码创建服务契约和强类型检查。在运行时创建代理时,当然不需要这样做。

要在运行时创建代理,您需要事先知道合同。然后,您可以使用标准WCF功能来创建具有此合同的代理类。