【问题标题】:Changing existing WCF project to Azure project将现有 WCF 项目更改为 Azure 项目
【发布时间】:2012-06-19 09:49:46
【问题描述】:

我有一个有效的 WCF 服务。 我想在 Windows Azure 上部署它。 有Host Existing WCF Service On Azure 上面写着,我应该右键单击项目并选择一个选项。 但我的菜单中没有这样的选项。 对于哪些类型的项目,我可以通过上面提到的右键单击进行此类转换?

【问题讨论】:

  • IME,而不是尝试更改项目类型,我发现创建正确类型的新项目然后移动代码更容易/更好。
  • 这取决于他是否需要在一个专门的项目中保护 WCF 库。

标签: c# wcf azure hosting


【解决方案1】:

首先您必须在 Visual Studio 2010 中检查项目类型。请确保您要部署的项目是 WCF 应用程序或 WebApplication 类型(托管 WCF 服务)。如果它是网站项目(托管 WCF 服务),您可以轻松地将其从 Visual Studio 中转换为 WebApplication 项目。

如果您的项目是 WCF 库,那么您必须先将其托管在 WCF 应用程序或 WebApplication 项目中,然后才能将其部署到 Windows Azure(或者甚至更好地将其直接托管在 Windows Azure WCFServiceRole 或 WebRole 项目中)。

然后您必须安装最新的 Windows Azure SDK,以便在您的开发机器上安装所有 Windows Azure 功能。您应该有“添加 Windows Azure 部署项目”选项。

要在 WCF 应用程序中托管 WCF 库,请执行以下操作(对于 Windows Azure WCFServiceRole 项目应该几乎相同):

在 Visual Studio 2010 中,创建一个 WCF 应用程序项目并将其添加到您的解决方案中。

在这个新的 WCF 应用程序项目的解决方案视图下,通过“References->Add References->Projects”或“References->Add References->Browser”向其 DLL 添加对 WCF 库的引用。

在新项目的解决方案视图下,删除IService1.cs,同时删除Service1.svc下的Service1.svc.cs,因为我们将使用WCF库中的服务实现。但保留 Service1.svc。

在新建项目的解决方案视图下,双击Service1.svc将其打开,替换其以下标记行:

<%@ ServiceHost Language="C#" Debug="true" Service="WcfWebService.Service1" 
CodeBehind="Service1.svc.cs" %> 

与

<%@ ServiceHost Language="C#" Debug="true" Service="WcfServiceLibrary.Service1" %>

您可能需要更改 WcfWebService、WcfServiceLibrary 和 Service1 并使用您的真实姓名才能使其正常工作。

如果这有帮助,请告诉我。

【讨论】:

  • 如何在 WebApplication 中托管 WCF 库?我应该如何将 WCF 库添加到应用程序?
  • 看这里都详细说明了:codeproject.com/Articles/154870/…
  • 或者,如果您不需要专用的 WCF 库,请将 WCF 类和配置复制到 Windows Azure WCF 服务 WebRole 项目
  • 我在答案中添加了步骤,花了我一些时间,但我希望它现在可以完全回答您的问题!
  • 首先,您可以按照此处stackoverflow.com/faq#howtoask 的说明支持我的回复,然后您可以按照此处meta.stackexchange.com/questions/5234/… 的说明接受我的回答。我们都将因此获得声誉:)
猜你喜欢
  • 1970-01-01
  • 2012-01-12
  • 1970-01-01
  • 2019-06-28
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 2010-09-15
相关资源
最近更新 更多