ASP.NET Url重写无法正常运行

时间:2012-03-12 22:26:26

标签: asp.net url-rewriting

我正在尝试一个简单的

我有一个简单的网页服务,例如包含

的网页
public partial class WebApi : System.Web.UI.Page
{

    [WebMethod]
    public static GetImageResult GetRandomImage()
    ...

我已将以下内容添加到“Global.asax.cs”(Application_BeginRequest)

string absolutePath = Request.Url.AbsolutePath.Substring(1);

if (absolutePath.StartsWith("WebApi/", StringComparison.OrdinalIgnoreCase))
{
    Context.RewritePath("/WebApi.aspx/" + absolutePath.Substring(7));
}

但asp.net似乎有问题,这个函数从未被调用过,javascript只报告“Method Not Allowed”。

是否还有一些事情要做才能使这项工作成功?

1 个答案:

答案 0 :(得分:1)

我建议使用IIS Url重写模块,而不是尝试自己动手。它会在到达您的应用程序之前拦截请求,并提供一个GUI,供您根据您的URL编写和测试正则表达式。

http://www.iis.net/download/URLRewrite