C#如何确定请求是否来自资产网址,例如图像或css

时间:2011-12-19 20:34:17

标签: c# asp.net asp.net-mvc-3

我想做这样的事情:

if(Request == "mainPath")
{
//code here
}

因此,例如,如果请求来自http://www.mydomain.com/tax/tax1,它将返回true,但如果Request来自http://www.mydomian.com/tax/tax1/image5.jpg或template.css则不会。最好的方法是什么?我想我可以将浏览器中的网址与请求的完整路径进行比较,但我不确定这是不是最好的主意。此外,如果它对问题有任何价值,则代码存在于Global.asax.cs中的Application_BeginRequest() - MVC3项目中。

非常感谢!

2 个答案:

答案 0 :(得分:2)

听起来您正在询问如何检查所请求网址的扩展名 检查Path.GetExtension(Request.Url.LocalPath)

您可能还想查看File.Exists(Server.MapPath(Request.AppRelativeCurrentExecutionFilePath))

答案 1 :(得分:0)

您可以查看请求的ContentType。对于像图像这样的资源,您将获得image / jpeg。您可以确定要求的请求类型。

正确的Content-Type值应为

text / css - > .css文件

image / gif - > .gif文件

image / jpeg - >对于.jpg / .jpeg文件