加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 可以为多个部署转换MVC视图,例如web.config文件

发布时间:2020-12-16 09:53:26 所属栏目:asp.Net 来源:网络整理
导读:在我的一个MVC项目中,我为测试部署站点设置了特殊的配置.这样做,我能够添加配置转换以覆盖我的web.config文件中的各种设置.例如,我有以下文件: web.configweb.release.configweb.debug.configweb.testsite.config 当我部署到我的测试站点时,它现在会覆盖我
在我的一个MVC项目中,我为测试部署站点设置了特殊的配置.这样做,我能够添加配置转换以覆盖我的web.config文件中的各种设置.例如,我有以下文件:

web.config
web.release.config
web.debug.config
web.testsite.config

当我部署到我的测试站点时,它现在会覆盖我的web.testsite.config中指定的一些设置

是否有可能在我的一些观点中获得相同的行为?例如,我可以拥有Index.testsite.cshtml吗?我可以使用配置中的标志来打开和关闭行为,但是似乎更简洁的方法是允许基于配置的其他转换/替换视图.

解决方法

这实际上很容易做到.

* global.asax – Inside Application_Start()*

var displayModes = DisplayModeProvider.Instance.Modes;
displayModes.Insert(0,new DefaultDisplayMode("TestSite")
    {
        ContextCondition = (context => IsTestSite())
    });

IsTestSite()的定义

public bool IsTestSite()
{
    bool isTestSite;
    return bool.TryParse(ConfigurationManager.AppSettings["isTestSite"],out isTestSite);
}

就是这样,现在你的应用程序将使用Intex.TestSite.cshtml,否则它将提供Index.cshtml.对于任何其他视图名称也是如此,只需在扩展名之前粘贴TestSite.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读