2

部署我的网络应用程序的新版本花费的时间太长了。我知道有更好的方法可以做到这一点,但我不知道它是什么。

现在我在一个解决方案中有三个项目,它们都有自己的 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")
    {

    }

在发布之前需要完成的另一个手动更新。然后当我回到本地测试时,所有这些都必须手动恢复。

我能做些什么来减少这个乏味?

4

1 回答 1

4

Web.config 转换怎么样如果您在 Visual Studio 中展开 Web.config,您将看到另外两个文件:Web.Debug.config 和 Web.Release.config。您可以添加更多配置,例如 Web.Staging.config。

于 2013-07-12T06:26:53.747 回答