部署我的网络应用程序的新版本花费的时间太长了。我知道有更好的方法可以做到这一点,但我不知道它是什么。
现在我在一个解决方案中有三个项目,它们都有自己的 web.config 或 app.config,每个项目都包含两个连接字符串。
在每个 web.config 中,都有以下内容:
sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="LocalConnection" />
</providers>
</sessionState>
请注意,它现在设置为 LocalConnection。如果我发布到 Azure,我必须手动将其更改为“RemoteConnection”。每次。
我在整个应用程序的几个地方也有这样的代码:
if (!WebSecurity.Initialized)
WebSecurity.InitializeDatabaseConnection("LocalConnection",
"UserProfile", "UserId", "UserName", autoCreateTables: true);
这意味着对于这样的每个调用,我必须在发布时手动更改为“RemoteConnection”。
同样在我的 dbContext 的空构造函数中,我调用:
public AppDbContext()
: base("name=LocalConnection")
{
}
在发布之前需要完成的另一个手动更新。然后当我回到本地测试时,所有这些都必须手动恢复。
我能做些什么来减少这个乏味?