我可以将非MVC asp.net应用程序转换为Azure兼容吗?

时间:2011-07-23 20:10:20

标签: asp.net asp.net-mvc azure

我可以将非MVC asp.net应用程序转换为Azure兼容吗?或者,如果我想创建一个Azure Web应用程序,它应该是MVC吗?

4 个答案:

答案 0 :(得分:2)

其他答案回答了有关将您的应用转换为MVC以便部署到Azure(您不需要)的问题。

如果你正在创建一个新的Web应用程序并使用ASP.NET MVC(我推荐),请记住,如果你使用MVC3,你可能需要为你的部署制作一些MVC3 DLL的CopyLocal,因为它不会成为您的Web角色实例的一部分。至少那是我仍然理解它的方式。 Azure SDK的1.4 SDK还没有MVC3 Web角色模板。

有关让您的MVC3应用程序支持Azure的步骤,请参阅此post

希望这有帮助。

答案 1 :(得分:1)

您可以查看following blog post,以便将现有的ASP.NET应用程序迁移到Azure。它不一定是ASP.NET MVC应用程序。任何ASP.NET应用程序都可以工作。

答案 2 :(得分:0)

azure有两个角色 一个webrole 2.工人角色

web角色只不过是一个asp.net应用程序。所以没有必要将它转换成MVC应用程序只是任何asp.net的东西都会做得很好

答案 3 :(得分:0)

是的,你可以。但是你需要意识到某些限制,在已经给出的答案中没有提到这些限制:

  1. 您的应用程序应该是无状态的,除非您正在运行单个实例(对于大多数应用程序,99,9%的可靠性是可以的,但有些地方您需要99,95%,所以您需要至少两个实例+它为您提供负载平衡器等的额外好处。这样做的原因是,如果您有多个实例,负载均衡器会将请求传递给其他实例。您可以使用AppFabric Cache来解决此问题。
  2. 您没有文件系统 - 这不完全正确,但实际上您绝不应该依赖本地文件。所有图片上传(例如用户个人资料图片)都应上传到blob存储并链接到那里。如何执行此操作是另一回事,可以根据现有应用程序的体系结构进行不同的处理。你可以使用Azure驱动器来逃避文件,但它的速度很慢。
  3. 无事件日志/ RDP - 这也只是部分正确,但您应该依赖其他方式从您的角色获取诊断信息。虽然您可以RDP到您的角色实例,但有更好的方法(例如Azure诊断存储)。
  4. 应谨慎选择
  5. 数据库。当然,你有SQL Azure可用,但它昂贵(1 GB = 10美元/月)。如果您可以使用Table Storage之类的东西,您可以节省一些费用。同样,这在很大程度上取决于架构。
  6. 至于答案的第二部分。 MVC作为一种模式是很好的。它可以为您节省大量时间,它可以像WebForms一样适应Web。基于事件的系统是为桌面应用程序设计的,它被强制上网。但是,转到Azure并不意味着要求转到MVC。不过我建议你做的是将它作为一个很好的启动机会来研究MVC,看看它如何能帮助你更好地编写你的应用程序。快点。

    与涉及应用程序架构的任何其他案例一样,取决于。如果您使用常见模式(例如IOC,Repository),您将非常轻松地将任何应用程序移动到Azure。