【问题标题】:How to dynamically create auto generated code programmatically without using SLsvcutil.exe tool?如何在不使用 SLsvcutil.exe 工具的情况下以编程方式动态创建自动生成的代码?
【发布时间】:2012-07-19 20:54:30
【问题描述】:

我们正在使用 WCF 服务来获取操作。我知道,如何使用 svutil.exe 工具以编程方式生成 WCF 服务的元数据。我不知道如何使用 SLsvcutil.exe 工具来做到这一点。 我需要在 C# 中通过 slsvcutil.exe 以编程方式创建自动生成的代码。

请问有人知道吗?

【问题讨论】:

  • 有或没有 SLsvcutil?你似乎自相矛盾。
  • 既然是关于 SL,什么信任级别可用?
  • 没有 slsvcutil,但以编程方式。无需打开 slsvcutil 工具,由 C# .NET 创建代码。
  • 通常,我们会打开 Visual stdio command prompt 2010 (svcutil.exe) 工具来下载服务元数据,自动生成的代码将由该工具创建。 [ svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config localhost:8000/ServiceModelSamples/service ] 通过此命令代码。 System.CodeDom.Compiler.CodeGenerator 命名空间用于以编程方式创建自动生成代码。我需要,如何以编程方式使用 Silverlight 4.0 应用程序的 slsvcutil.exe 工具来做到这一点?如何使用 slsvcutil.exe 工具的 C# 源代码创建自动生成代码?
  • Ï 不太了解 SL,在普通 Fx 中您可以使用 System.Disagnostics.Process.Start()。但它可能在 SL 中丢失,或者您的应用可能不允许运行任何程序...

标签: c# silverlight slsvcutil


【解决方案1】:

最后,我使用 Silverlight 服务模型代理生成工具 (SLsvcUtil.exe) 动态或仅使用 C# 代码从服务元数据文档生成 Silverlight 客户端代理,而无需打开并在该工具上键入命令。

这里是 slsvcutil.exe 的简单 C#.NET 源代码:

        string arguments = string.Empty;
        string SvcUtilPath = string.Empty;

        SvcUtilPath = @"C:\Program Files\Microsoft SDKs\Silverlight\v5.0\Tools\SlSvcUtil.exe";

        arguments += @"http://localhost:3628/WCFservices/CompilerHelper.svc?wsdl ";
        arguments += @"/out:C:\Clients_FIles\ClientProxy.cs ";
        arguments += @"/edb /namespace:*,ClientProxy ";
        arguments += @"/ct:System.Collections.ObjectModel.ObservableCollection`1 ";
        arguments += @"/r:""C:\Program Files\Microsoft Silverlight\5.1.10411.0\System.Windows.dll"" ";

        Process process_ = new Process();
        process_.StartInfo.FileName = SvcUtilPath;
        process_.StartInfo.Arguments = arguments;
        process_.StartInfo.ErrorDialog = true;
        process_.StartInfo.UseShellExecute = false;
        process_.Start();
        process_.WaitForExit();

使用 System.Disagnostics.Process 命名空间,我们可以调用 slsvcutil.exe 文件并运行参数来生成任何(WCF)服务文件的 silverlight 服务模型代码。

谢谢, 普拉巴卡兰 G.

【讨论】:

    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2012-09-24
    • 2011-01-22
    相关资源
    最近更新 更多