0

我已经回顾了将.NET应用程序部署到Azure中的所有问题,但仍有一些我仍需要了解。 我已经看到并测试了自己,这将使Visual Studio 2010很容易将现有的.NET应用程序发布并部署到Azure中 - 所有功能和工具都在那里。将SQL Server部署到Azure的.NET应用程序?

但是,我仍然能够维护和更新我的原始.NET应用程序,然后在必要时发布Azure包的更新?我希望持续这样做,为我们的客户提供两种解决方案 - 公有云解决方案或本地本地.NET解决方案。

其他问题是,我们将从SQL服务器运行.NET应用程序,并且应用程序也会与外部Web服务进行交互。那些持续部署到Azure的人容易,而不是一次性关闭。

编辑:如果以上是不可能的,我只注意到,可以创建一个完整的Windows 2008服务器映像,并在Azure中创建一个虚拟机角色。有没有人对此有任何评论,因为我对此不够了解。这是否可以解决我的问题?

回答

0

如果您的应用程序不是非常复杂,您可以使用相同的代码为Windows Azure + SQL Azure和本地服务器+ SQL服务器。假设您不介意添加Windows Azure程序集,这完全可以在本地服务器上运行它,那么这就是一个Web应用程序。

关于sql azure/sql server,我认为你只需要改变你的配置中的连接字符串,让你的代码链接到正确的服务器。

也许您需要一些额外的任务才能完成天蓝和本地。您可能需要提供一个文件系统接口,可以根据配置从blob或本地磁盘读取/写入文件。因此,在您的业务代码中,您不会介意在哪里以及如何处理文件问题。也许你还需要一个配置界面来读取web.config或cscfg文件的设置。但是,如果你已经把所有配置放在数据库中,那会更好。

基本上我不认为这是不可能使用一个代码基地为蔚蓝和本地。我通过引入一些界面来隔离天蓝色的相关操作,从而以这种方式完成了一个项目。只要确保你可以配置/注入天蓝色和本地之间不同的东西。

HTH

+0

谢谢 - 非常有帮助 - 更近一步。在.NET中,一旦我创建了Azure部署,似乎我只能在Azure模拟器中运行解决方案,它不会让我在IIS上运行它。这是我可以轻易改变的东西吗?你知道吗? – Gotts 2012-03-23 13:10:00

+0

如果是网络角色,您可以将启动应用程序设置为您的web项目(而不是azure项目),那么它将在您的IIS或开发主机下运行,就好像您拥有一个普通的ASP.NET应用程序一样。但是如果你的项目在Azure下使用某些东西,例如存储,本地资源或天蓝色配置,那么它将会失败。这就是为什么我提到你最好使用一些接口来隔离。但它是一个工作者角色,它必须在Azure开发模拟器下运行。 – 2012-03-25 05:24:10

0

您可以将其部署到Azure。处理它的最好方法是部署到Staging,然后一旦它启动并运行,在门户中进行VIP交换。然后,您将在生产环境中运行新软件包,并且可以停止/删除正在运行的旧软件包。

对于Azure中的SQL Server,您应该考虑使用SQL Azure或使用Azure Connect与运行在内部的SQL Server进行通信。或者你也可以使用服务总线。

+0

但是,我可以同时维护我的.net应用程序,然后将更新推送到Azure。问题是我想要对数据库做同样的事情 - 即我的.net应用程序应该与SQL服务器通信,而我的天蓝色应用程序应该与SQL Azure通信。 – Gotts 2012-03-22 16:05:20

0

我觉得这是你真正的问题:

不过我是仍然能够保持和更新我原来的.NET 应用程序,然后在必要时发布更新Azure的 包?我想持续这样做,作为 为我们的客户提供两种解决方案的手段 - 公有云解决方案或本地本地.NET解决方案。

这并不是特定于windows azure。你想要的是一个源代码控制。你可以使用类似TFS的东西来创建相同代码的不同副本。然后你可以拥有版本历史的两个项目的副本。有很多使用源代码管理的好处,我强烈建议你看看在你工作的每个项目上使用源代码控制。

+0

我同意源代码管理很重要,我将在项目中使用它。但我的观点是,我只想用.NET和Azure的部署包维护一个项目,而不必混淆源代码。我希望.NET专家能让我知道这是否仍然有可能,以及这会如何影响到两个不同数据库(Azure和SQL服务器)的连接。谢谢 – Gotts 2012-03-23 13:07:47

相关问题