当path包含参数时,VirtualPathUtility.IsAbsolute(path)抛出异常

mga*_*mer 1 .net c# asp.net exception-handling

为什么在ASP.NET中呢?

VirtualPathUtility.IsAbsolute("/~abc") 工作良好.

VirtualPathUtility.IsAbsolute("/~abc?n=1)抛出异常:

System.Web.HttpException:'〜/ abc?n = 1'不是有效的虚拟路径?

更新:

我刚刚检查过.NET 3.5和.NET 4.0之间的行为有什么不同.VirtualPathUtility.IsAbsolute("/~abc?n=1)在4.0中工作正常,但在3.5中没有.你们有谁知道为什么他们改变了吗?

Kie*_*one 5

因为/~abc?n=1它不是路径,所以它也包含URL的查询字符串部分(/~abc是路径,n=1是查询字符串)