将asp.net应用程序移植到Azure有多大挑战?

egmofgnx  于 2022-11-25  发布在  .NET
关注(0)|答案(3)|浏览(119)

我有一个部分开发的asp.net应用程序,但现在客户希望在Azure中开发它。在Azure中开发应用程序时,可以使用多少现有代码?
当我们尝试将现有的www.example.com应用程序移植到Azure时,可能会遇到哪些挑战asp.net?在云计算中是否有Azure的其他替代方案?

busg9geu

busg9geu1#

对于asp.net应用程序,您当然可以将其移植到Azure。您的核心逻辑将以相对简单的方式移植,您将获得Azure所提供的许多好处。在2010年6月的版本中,您还将获得.NET 4支持,以及用于调试的IntelliTrace。
但是,当您开始计划Azure迁移时,需要考虑几个注意事项(没有一个是无法克服的,有几个相对容易处理):

  • 您必须处理跨Web角色示例的ASP.NET会话状态管理(除了inproc之外,它不受现成支持)。您还必须设置和使用角色和成员资格提供程序(有关更多详细信息,请参阅here)。编辑:现在,您可以访问AppFabric Cache for Session State和SQL Azure,后者是Windows Azure SDK+Tools附带的通用提供程序的一部分。
  • 你必须检查你的SQL后端是否与SQL Azure不兼容(例如计划的作业,因为没有SQL代理支持)。SQL Azure的差异记录在here中。你还需要考虑SQL Azure的50 GB大小限制,这可能需要你将内容卸载到Azure blob存储。编辑:您可以通过SQL Azure Migration Wizard运行SQL Server数据库以进行兼容性测试。
  • 您需要配置日志记录和诊断(最好是使用Trace输出),以便可以远程检索此数据。
  • 您需要考虑如何监视和缩放应用程序。您可以获得缩放所需的所有信息(性能计数器、队列长度等)。请查看WASABI-自动缩放应用程序块,它是Enterprise Library的一部分。您还可以订阅AzureWatch之类的服务。
  • 您需要考虑缓存,因为目前还没有现成的缓存实现可以跨Web角色的示例运行,而Web角色现在是作为服务提供的。阅读详细信息here,以及常见问题here
  • 您是否需要SMTP支持?如果需要,您应该阅读有关here的详细信息。SendGrid最近发布了一个用于Windows Azure的free-tier promotion
  • 您是否也托管WCF服务?如果是,请查看this site以了解更多详细信息(特别是已知问题)。

所以:是的,有一些事情你需要关心自己,但Azure是一个伟大的平台托管asp.net应用程序,你应该强烈考虑它。

u0njafvf

u0njafvf2#

将你的应用移植到Azure应该是非常容易的--特别是如果你使用SQL后端的话。代码几乎不需要修改就可以运行。你需要为项目和配置文件创建一个Azure安装包。
如果您的应用程序使用持久存储(而不是SQL Server),您可能需要重新编写代码。但是,平台现在有驱动器存储,它模拟文件系统,因此这应该相当容易。
另一个需要注意的问题是web. config。如果你在运行时自定义中大量使用它,你也必须重做它。你不能在Azure中将单个文件部署到你的应用程序,所以推荐的方法是将这些设置迁移到Azure配置文件中。
你可能遇到的最困难的事情是外部应用程序。如果你的应用程序依赖于启动其他进程,那么这将需要一些认真的重新设计。

1l5u6lss

1l5u6lss3#

Azure现在支持将网站作为部署类型。基本上,这允许您将任何标准Asp.net(以及其他受支持的应用程序,如PHP等)发布到Azure,并将其作为可伸缩服务器。请参阅本文http://blog.ntotten.com/2012/06/07/10-things-about-windows-azure-web-sites/
Azure的许多好处,而不必将Azure特定的代码/项目引入现有应用程序。
Azure网站和Azure Web角色之间的区别是什么

相关问题