gpt4 book ai didi

c# - 发布网站与 Azure 云服务发布

转载 作者:行者123 更新时间:2023-11-30 20:44:11 25 4
gpt4 key购买 nike

有两种方法可以将网站发布到 Azure - 通过简单的发布功能与部署为云服务。我在解决方案中也有一个辅助角色,因此,我选择了云服务而不是简单的发布网站功能。

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

我考虑仅将辅助角色放入云并将网站部署为网站,而不使用云服务...

最佳答案

首先,我强烈建议您通过比较 Azure 网站和云服务来解决这个问题:What is the difference between an Azure Web Site and an Azure Web Role

现在回答你的问题:

First at all, deploy as cloud service takes in 10 times more time, than simple Publish website.

这种情况肯定会发生,因为当您部署云服务(例如通过 Visual Studio)时,会发生以下情况而导致延迟:

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

这两件事都不会发生在网站中。

Second problem - I have to each time, when I want to deploy, change connection strings in web.config to SQL Azure (instead of my local SQL Server). Website Publish has ability to set necessary SQL connection strings for deploy. Maybe I do something wrong and deploy can doing in 10 sec and exist ability to set different connection strings (like Website publish)?

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

解决您的问题的一个可能的解决方案是使用配置转换并让您的web.config.release文件包含生产数据库的连接字符串。当您在 Release模式下构建项目时,您的 web.config 文件中将拥有正确的连接字符串。

I think about put to Cloud only worker role and website deploy as website, without Cloud service...

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

关于c# - 发布网站与 Azure 云服务发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29731080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com