我有一个用 C#/ASP.NET 编写的网站,目前正在开发中。当我们在生产中时,我想在一天中频繁发布,因为我们修复错误并添加功能(例如:http://toni.org/2010/05/19/in-praise-of-continuous-deployment-the-wordpress-com-story/)。
如果您上传网站的新版本甚至更改单个文件,它会踢出当前登录的用户并让他们重新开始任何表单等。在不干扰 .NET 站点用户的情况下进行部署是否有秘诀?
最佳答案
如果您对配置文件、应用程序的 bin 文件夹的内容或类似内容进行了更改,ASP.NET 工作进程将与您的应用程序一起重新启动。
这会导致删除 session 和踢出用户。
解决方案是使用默认的InProc
以外的其他 session 存储方式。
您可以通过设置 session state mode 来实现此目的. SqlServer
和 StateServer
选项可以很好地解决您的问题。
SqlServer
模式相对容易设置、启动和运行。 (基本上,它只是创建一个数据库,运行 aspnet_regsql,然后将其指定到配置中。)如果您没有 MS SQL Server 或不想使用它,您可以使用 StateServer
,或创建您自己的提供者并使用 Custom
模式。
唯一的限制是您只能使用 SqlServer
和 StateServer
模式存储可序列化的值。
关于c# - 使用 ASP.NET 网站进行持续部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868708/