【问题标题】:WCF services and and MVC4 project on the same websiteWCF服务和MVC4项目在同一个网站
【发布时间】:2013-08-31 08:49:54
【问题描述】:

我刚刚被要求协助进行以下娱乐活动。

今天的状态

网站在 info.com 上运行,是一些数据的查看器(带有基本编辑器)。检索和存储操作是通过调用另一个网站 data.com 来完成的。

查看器是使用 Web 表单创建的。 Web 服务可能是 WCF(但可能更旧)。

国家目标

  1. 架构已移至 Azure。
  2. 查看器被重写为 MVC。
  3. Web 服务确保为 WCF。
  4. 这两个部分都在同一个网站下运行。

问题

(1) 已经完成。 (2) och (3) 对我来说不是问题。但是,我对(4)有点不确定。我担心在同一个 Azure 网站下部署 MVC 项目和 WCF 项目时可能会出现一些问题。

我应该预料到哪些问题?我会后悔没有采取哪些预防措施?

【问题讨论】:

    标签: c# wcf asp.net-mvc-4 azure


    【解决方案1】:

    当你说你想在同一个网站下运行这两个部分时,你是指同一个网络角色,还是同一个实际网站?

    如果您指的是相同的 Web 角色,但不同的站点,您可以使用云服务中 Web 角色的多站点托管功能来实现。您可以在 Configure a Web Role for Multiple Web Sites 上阅读 MSDN 文档。请注意,此路径将更像原始场景,因为它们是两个不同的网站,并且以后可以轻松拆分。如果您对此进行研究,我强烈建议您阅读 Michael Collier 的 Publishing Multiple Sites in a Web Role 提示。您需要了解其他网站的打包方式有一些奇怪之处。

    如果您的意思是在同一个实际网站中,那么这真的很简单。这里没有真正的 Windows Azure 特定的事情要处理。只需将 WCF 端点 (svc) 添加到您的 MVC Web 项目。我通过创建 MVC 4 应用程序对此进行了测试。我添加了一个名为 Api 的顶级文件夹。然后我在 Api 文件夹上添加了一个新项目,并从对话框中选择了 WCF 服务。它添加了 .svc 文件、接口等。如果您愿意,您甚至可以将服务的实现拆分到另一个程序集。根据您决定在项目中放置服务端点的位置,您可能需要处理路由,也可能不需要。

    要查看的其他选项不是 WCF 特定的,例如在同一个 MVC 项目中使用 WebAPI,甚至只是使用 MVC 控制器,更像是返回数据而不是视图的服务端点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      • 2012-12-31
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      相关资源
      最近更新 更多