【问题标题】:Use a separate WCF project with Silverlight将单独的 WCF 项目与 Silverlight 一起使用
【发布时间】:2009-09-10 20:58:12
【问题描述】:

我正在开发一个使用 WCF 的 Silverlight 应用程序。我需要将我的 WCF 项目与托管我的 Silverlight 项目的 ASP.Net 应用程序分开。我正在寻找一些关于如何组织我的解决方案并列出其他人在调试和部署过程中遇到的问题的指导。

具体我的问题是

  1. 我应该为 WCF 服务使用什么类型的项目?(一个 WCF 项目,一个具有自托管 WCF 服务的 ASP.NET 项目,其他)

  2. 我需要什么才能得到它,以便当我按 F5 时可以调试我的 Silverlight 项目和我的 WCF 服务?我需要一个跨域策略来调试这个东西吗?

关于我为什么要这样做的一些背景信息:

我有旧版 Web 应用程序,我正在逐渐转换为 Silverlight 应用程序。因为它是一个大型 Web 应用程序,所以它的某些功能会先于其他功能转换为 Silverlight。

旧版 Web 应用程序中有很多不再使用的代码。许多不再使用的代码都引用了第 3 部分组件。这就是为什么我想摆脱旧的 Web 应用程序。所以很明显,我不想托管将在其中保留以供将来版本使用的 WCF 服务。这就是我想要将 WCF 项目分开的原因。

【问题讨论】:

    标签: wcf silverlight projects-and-solutions code-organization project-organization


    【解决方案1】:

    我们正在做同样的事情。

    1. 我们正在使用 WCF 项目,以防我们将来必须更改它的托管方式。 (即不再使用 IIS)

    2.a.您可以为您的 silverlight 项目和 wcf 项目提供解决方案。 silverlight 项目将在您的解决方案中具有对 wcf 服务的服务引用。这允许您使用 F5 进行调试。但是,当您进行部署时,您必须更改 app.config 服务 URI 以引用您的生产位置。

    2.b。如果 wcf 服务和 silverlight 应用程序的完全限定域名不同,则仅需要跨域策略文件。我们的恰好不同。这是一篇关于何时使用策略文件的优秀文章:Clicky

    祝你好运!

    【讨论】:

    • 我已经完成了所有工作,但是如果没有 clientaccesspolicy,我将无法调试,因为 asp.net 开发服务器无法在同一端口上运行客户端和服务。跨度>
    • 嗨,awhite,我正在努力实现您所解释的内容,但是每当我调用 WCFService 时,它​​都会引发跨域异常。我已经尝试了很多这样的尝试,试图让它在没有运气的情况下工作。您能否提供一些有关如何设置 Web 项目和服务的详细信息,以便它们可以相互通信。谢谢
    【解决方案2】:

    请记住,当您准备好部署时,如果您的服务将托管在与您的应用不同的机器上,您需要先部署该服务。然后重新配置你的服务引用,最后在部署之前重新编译你的 Silverlight。否则,您的 Silverlight 应用将在您的本地计算机上而不是在您部署它的位置上查找该服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多