1

我正在开发一个使用 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 项目分开的原因。

4

2 回答 2

4

我们正在做同样的事情。

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

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

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

祝你好运!

于 2009-09-10T21:17:43.277 回答
0

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

于 2009-09-10T21:23:39.540 回答