我知道这是一个非常奇怪的要求,但长话短说,开发人员的 URL 错误,现在已经打印在材料上。该 url 是一个 .cshtml 文件,显然不允许通过 IIS 访问该文件。
我需要允许这个特定的 cshtml 或所有这些在浏览器中呈现为纯 html。
帮助将不胜感激。
我知道这是一个非常奇怪的要求,但长话短说,开发人员的 URL 错误,现在已经打印在材料上。该 url 是一个 .cshtml 文件,显然不允许通过 IIS 访问该文件。
我需要允许这个特定的 cshtml 或所有这些在浏览器中呈现为纯 html。
帮助将不胜感激。
This might not NOT the best solution, but it is the one I know of the top of my head.
Go to your Global.asax file. From there go inside of or create the Application_AcquireRequestState function as so:
void Application_AcquireRequestState(object sender, EventArgs e) { }
Inside the above function check to see if the path matches your .cshtml file. If so, do Server.Transfer
to a regular aspx page.
You might also have to go into IIS settings and enable cshtml to be served.
您可以使用 Application_BeginRequest 事件来检查文件的扩展名并应用一些逻辑然后重定向它们。
在 Global.asax.cs 文件中:
protected void Application_BeginRequest()
{
if (Request.Url.AbsolutePath.EndsWith(".cshtml"))
{
//Your logic to apply
Response.RedirectToRoutePermanent("Default");
}
}
您可以将 IIS mod_rewrite 扩展与正则表达式一起用于所有 cshtml 文件,或者仅使用这个特定的文件。
http://www.iis.net/downloads/microsoft/url-rewrite
或者,在 IIS 管理器中使用 MIME 类型配置并将 .cshtml 添加为 text/html 类型