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

具体来说,我的问题是

  1. 我应该为WCF服务使用哪种类型的项目?(WCF项目,具有自托管WCF服务的ASP.NET项目,等等)

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

  3. 有关我为何要这样做的背景信息:

    我有遗留的Web应用程序,我正在逐步转换为Silverlight应用程序。因为它是一个大型Web应用程序,它的一些功能将在其他功能之前转换为Silverlight。

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

有帮助吗?

解决方案

我们正在做同样的事情。

  1. 我们正在使用WCF项目,以防万一我们必须改变它未来的托管方式。 (I.E.不再使用IIS)
  2. 2.A。您可以使用silverlight项目和wcf项目获得解决方案。 silverlight项目将在您的解决方案中提供对wcf服务的服务引用。这允许您使用F5进行调试。但是,当您进行部署时,您将不得不更改app.config服务URI以引用您的生产位置。

    2.b中。如果wcf服务和silverlight应用程序的完全限定域名不同,则只需要跨域策略文件。我们碰巧有所不同。以下是关于何时使用策略文件的优秀文章: Clicky

    祝你好运!

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top