我有一个 MCV 应用程序。我有一个在本地 PC 上运行的工作副本,一个位于我的应用程序服务器上的生产副本。为了快速测试小修订,我希望办公室另一端的用户在我更新服务器上的文件之前访问我的本地副本。但我不希望用户能够将 mypc/myapp 与 myserver/mypp 混淆。为此,我想也许我在某处有一些配置,上面写着:如果托管在“myserver”上,则背景颜色为黑色;否则背景颜色为红色,或其他东西。
这可能吗,怎么做?
我有一个 MCV 应用程序。我有一个在本地 PC 上运行的工作副本,一个位于我的应用程序服务器上的生产副本。为了快速测试小修订,我希望办公室另一端的用户在我更新服务器上的文件之前访问我的本地副本。但我不希望用户能够将 mypc/myapp 与 myserver/mypp 混淆。为此,我想也许我在某处有一些配置,上面写着:如果托管在“myserver”上,则背景颜色为黑色;否则背景颜色为红色,或其他东西。
这可能吗,怎么做?
有很多方法可以做到这一点。
最快和最简单的方法就是在您的 web.config 中有一个密钥,在您的生产服务器上设置为 true。
<appSettings>
<add key="production" value="true" />
</appSettings>
为您的开发背景颜色添加一个新的 CSS 类到您的样式表
.development-bg {
background-color: #FF49F2;
}
然后在 _Layout.cshtml 的顶部(假设您使用的是 razor 视图引擎)
@{
if(System.Configuration.ConfigurationManager.AppSettings["production"] != "true")
{
ViewBag.BackgroundColorCssClass = "development-bg";
}
}
然后修改_Layout.cshtml中的body标签
<body class="@ViewBag.BackgroundColorCssClass">
或者,如果您不想拥有 web.config 值,您可以尝试以下操作
@{
if(HttpContext.Current.Server.MachineName == "your machine name")
{
ViewBag.BackgroundColorCssClass = "development-bg";
}
}
就像我说的,有很多方法可以做到这一点。这种方式非常简单,但可能适合您的需求。