1

将 MVC 视图限制为仅在开发环境中可用且不能从任何其他环境访问的最佳方法是什么。

这是一个测试页面,如果站点在开发人员环境之外运行,我不希望用户访问该页面。在 IIS 下本地托管或使用 Visual Studio 内置 Web 服务器

4

2 回答 2

2

您可以检查当前的 Web 服务器是否为 Visual Studio 开发服务器:

public static bool IsDevWebServer()
{
    return HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == null || HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"] == string.Empty;
}

没有注意到你想要在本地 IIS 下的测试页面,如果你已经准备好使用web.config 转换(如果你不应该)并在 appSettings 下设置一些值,例如:

<add key="DevEnv" value="True" />

然后将其转换为发布 web 配置并设置 false :

<add key="DevEnv" value="False" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
于 2012-05-30T22:05:03.390 回答
0

只需将重定向到该页面设置为“http://localhost/path/file.aspx”

当他们尝试访问该页面时,这应该会引发错误。如果您不想抛出该错误,那么当他们尝试在测试环境之外访问该页面时,您可以将它们重定向到不同的页面。

于 2012-05-30T21:12:12.473 回答