我知道这是一个非常奇怪的请求,但长话短说,开发人员有错误的URL,现在已经打印在材料上。 url是一个.cshtml文件,显然不允许通过IIS命中。
我需要允许这个特定的cshtml或它们全部在浏览器中呈现为纯HTML。
帮助将不胜感激。
答案 0 :(得分:2)
这可能不是最好的解决方案,但它是我所知道的最重要的解决方案。
转到Global.asax文件。从那里进入或创建Application_AcquireRequestState函数,如下所示:
void Application_AcquireRequestState(object sender, EventArgs e) { }
在上面的函数中检查路径是否与.cshtml文件匹配。如果是这样,请Server.Transfer
到常规的aspx页面。
您可能还需要进入IIS设置并启用cshtml。
答案 1 :(得分:0)
您可以将IIS mod_rewrite扩展名与正则表达式一起用于所有cshtml文件,或仅使用此特定文件。
http://www.iis.net/downloads/microsoft/url-rewrite
或者,在IIS管理器中使用MIME类型配置并将.cshtml添加为text / html类型
答案 2 :(得分:0)
您可以使用Application_BeginRequest事件来检查文件的扩展名并应用一些逻辑然后重定向它们。
在Global.asax.cs文件中:
protected void Application_BeginRequest()
{
if (Request.Url.AbsolutePath.EndsWith(".cshtml"))
{
//Your logic to apply
Response.RedirectToRoutePermanent("Default");
}
}