我知道这样的问题已经被问过很多次了,但我在这里提出了我的场景。请不要删除或投票关闭。
- 我有一个以 L2S 和 SQL 2008 R2 作为后端的 asp.net 应用程序
- 使用 N 层架构
- 主要执行正常的增删改查操作。
- session 和 View 状态的使用
- 手动登录/注销(用户和角色管理),未使用 .net 成员(member)资格。
- 尚未使用任何服务,可能是稍后的部分。
- Telerik 或 Infragistics 等第三方控件也在使用中。
我想知道:
- 我需要将整个应用程序更改为 Azure Web 应用程序吗?
- 如果没有,是否可以像我们通常在 IIS 中那样直接在云端、MS 或任何其他平台上部署它?
- 如果没有,是否有任何第三方迁移工具可以使我的普通旧 Web 应用程序与云兼容,而不影响现有代码?
我想要具有成本效益且易于执行的步骤?
提前致谢
最佳答案
是的,这应该是可能的。您几乎肯定不需要更改整个应用程序。
- Linq2SQL 很好,我使用 L2S 运行 Azure 站点没有任何问题
- 您必须将数据库部署到 SQL Azure 数据库。有一些限制,例如所有表都必须有主键。更大的列表在这里:http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx .
另外,在生成 SQL 脚本时,请务必选择 SQL Azure 作为数据库引擎类型: http://mooneyblog.mmdbsolutions.com/index.php/2011/09/22/generating-azure-friendly-sql-scripts/ - 你的 N 层是什么样的?如果它们是 DLL,那就没问题了。如果它们是 Web 服务,您需要为它们创建 Web 角色。如果它们是 Windows 服务,您需要将它们移植到辅助角色。
- 大多数 CRUD 和 View 状态以及手动身份验证代码都可以
- 对于 session ,这取决于您正在做什么(内存与数据库)。但您将面临与部署到任何网络场时相同的挑战
- 对于 Telerik 来说,我确信他们必须对 Azure 提供一些支持,而且我认为他们不会做任何对 Azure 不起作用的疯狂事情。您应该查看他们的网站以验证兼容性。
- 此外,请确保您不会在任何地方写入硬盘驱动器并期望它稍后再出现,因为实例可以随时启动、停止和重新镜像。如果您这样做,则需要将其更改为使用其他内容,例如 blob 存储。
我正在撰写一系列博客文章,介绍其中的一些步骤,这应该会有所帮助:http://mooneyblog.mmdbsolutions.com/index.php/category/azure/
祝你好运!
关于asp.net - 我可以将 Web 形式的 ASP.NET Web 应用程序部署到云吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16145702/