在 umbraco 项目中注册 HTTP 处理程序

Register HTTP handler in umbraco project

我已经创建了这个 http 处理程序:

 public void ProcessRequest(HttpContext context)
        {
            //write your handler implementation here.
            string RequestedPage = context.Request.Url.Segments[1].ToString().ToLower();
            string queriedRequest = "category1-page";
            bool doesUrlContain = RequestedPage.Equals(queriedRequest);

            if (doesUrlContain)
            {
                context.Response.Redirect(context.Request.Url.Segments[0] + "production" + context.Request.Url.Segments[2]);
            }
        }

它应该处理对 "test-page" 或其子页面的每次调用,并通过更改 URL 的一部分进行重定向。 然而,我不太清楚如何在我的 umbraco 项目中注册这个处理程序。也许有人可以提供一步一步的教程?

当用户使用旧 link 页面或子页面并在根页面更改时重定向到正确的页面时,此处理程序应该 运行。

本地我用iis7做开发

谢谢转发。

在您的 web.config 中,您需要添加一个处理程序来引用您定义 http 处理程序的 class,如下所示:

<system.webServer>
    <handlers>
        <add name="MyHandler" path="test-page" verb="*" type="MyNamespace.MyHandlerClass" resourceType="Unspecified" preCondition="integratedMode" />

http 处理程序必须在与 web.config 相同的程序集中定义。