【问题标题】:Wcf configuration for SilverlightSilverlight 的 Wcf 配置
【发布时间】:2011-09-19 13:15:06
【问题描述】:

在我的 silverlight 应用程序中,我使用对 wcf 服务的服务引用。在我将此项目部署到我的测试 IIS 后,我看不到任何存储所有端点信息的 .config 文件。该 ServiceReferences.ClientConfig 打包在 xap 包中。那么我将如何将它部署到客户的服务器上呢?我需要一种在那里配置端点的方法。你是怎么做到的?

【问题讨论】:

    标签: silverlight wcf


    【解决方案1】:

    这里不是尝试支持在 XAP 中编辑 clientconfig 文件,而是另一种方法。

    将 Web 服务端点地址添加到托管 Silverlight 应用程序的 HTML 页面中的 Silverlight InitParams。也许通过 ASP.NET 动态设置 initparams。创建客户端服务代理时以编程方式使用此地址。

    另一种选择是假设 Web 服务始终位于托管页面的相对目录中。我用过类似的东西:

    new Uri(HtmlPage.Document.DocumentUri, new Uri("./MyService/MyService.svc", UriKind.Relative)); 
    

    结合这两个选项效果很好,如果 InitParams 丢失,我使用到众所周知的位置的相对路径(有助于部署/生产)。如果 IntiParams 有一个端点,我会使用它(有助于调试/测试)。

    【讨论】:

      【解决方案2】:

      如果您的意思是在应用程序发布后配置端点,那么没有办法轻松完成(您可以解压缩 xap、更改 ServiceReferences.ClientConfig、重新压缩...)

      【讨论】:

      • @Nickolodeon,我理解你的意思,但 xap 文件的目标之一是打包和应用程序及其所有依赖项。将配置文件移出它可以防止单一文件目标。在我的 SL 应用程序中,我通常使用构建事件来根据配置(开发、测试、产品...)复制适当的服务配置文件
      • 我会尝试 InitParams 方法。但是当一切都失败时,修改 xap 是要走的路——我试过了,它有效)
      猜你喜欢
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多