繁体   English   中英

发布网站与Azure云服务发布

[英]Publish web-site vs Azure Cloud service publish

有两种将网站发布到Azure的方法-通过简单的发布功能与作为云部署服务。 我在解决方案中也有一名工作人员角色,因此,我选择了Cloud Service而不是简单的发布网站功能。

但是我对云服务感到非常失望。 首先,部署为云服务所需的时间比简单的发布网站要多10倍。 第二个问题-每当我要部署时,都必须将web.config中的连接字符串更改为SQL Azure(而不是本地SQL Server)。 网站发布可以设置必要的SQL连接字符串以进行部署。 也许我做错了什么,部署可以在10秒钟内完成,并且具有设置不同连接字符串的能力(例如网站发布)?

我认为只将工作者角色和网站部署为网站,而不使用Cloud服务...

首先,我强烈建议您通过比较Azure网站和云服务来解决这个问题: Azure网站和Azure Web角色有什么区别

现在来回答您的问题:

首先,部署为云服务所需的时间比简单的发布网站要多10倍。

之所以会发生这种情况,是因为在部署云服务(例如通过Visual Studio)时,发生以下会导致延迟的事情:

  • 作为云服务构建过程的一部分,Visual Studio创建一个程序包文件并将其上传到Blob存储中。 然后,此软件包用于创建云服务。
  • 负责管理云服务生命周期的Azure Fabric控制器会为您创建一个全新的虚拟机,安装必要的软件(例如IIS),然后从程序包文件中部署代码。

这两种事情都不会在网站上发生。

第二个问题-每当我要部署时,都必须将web.config中的连接字符串更改为SQL Azure(而不是本地SQL Server)。 网站发布可以设置必要的SQL连接字符串以进行部署。 也许我做错了什么,部署可以在10秒钟内完成,并且具有设置不同连接字符串的能力(例如网站发布)?

您本身没有做错任何事情。 您的web.config文件将捆绑到软件包文件中,因此,在对web.config文件进行任何更改后,您将需要重新创建软件包并更新部署(这包括上载到blob存储)。

解决此问题的一种可能解决方案是使用config transformation并使web.config.release文件包含生产数据库的连接字符串。 在发布模式下构建项目时,您的web.config文件中将具有正确的连接字符串。

我认为只将工作者角色和网站部署为网站,而不使用Cloud服务...

这当然是一个可行的选择。 另一个选择是查看WebJobs 与工作人员角色一样,它们用于处理后台处理工作负载,但在部署方面具有与网站相同的便利性。 您可能还会发现此博客文章也很有用: http : //www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM