Cấp bậc tác giả:

DOTNET

Sửa chữa thay thế lỗi eurl.axd 404 trên IIS6

Được viết bởi QuangIT ngày 14/09/2013 lúc 03:39 PM
Với ASPNET 4.0 có sự thay đổi phá vỡ khi sử dụng IIS6 với trang web có "legacy" ASP.NET 2.0 trộn với ứng dụng ASP.NET 4.0.
  • 0
  • 1673

Sửa chữa thay thế lỗi eurl.axd 404 trên IIS6


Với ASPNET 4.0 có sự thay đổi phá vỡ khi sử dụng IIS6 với trang web có "legacy" ASP.NET 2.0 trộn với ứng dụng ASP.NET 4.0.

URL extensionless được gửi đến cấu hình "default content page" chẳng hạn như "default.aspx" thay vào đó sẽ được gửi đến eurl.axd theo sau là một mã băm. Thật không may ứng dụng ASP.NET 2.0 sẽ không tự động xử lý đó.

Microsoft cung cấp 3 cách giải quyết trong ASP.NET V4. Hai trong số đó là để không trộn ASP.NET 2.0 và ứng dụng 4.0 trong cùng trang web. Thứ ba là vô hiệu hóa URL extensionless hoàn toàn.

Nhưng nếu bạn muốn kết hợp ASP.NET 2.0 và ứng dụng 4.0 trong cùng trang web và sử dụng URL extensionless trong ứng dụng 4.0?

Tại sao không chỉ handle eurl.axd path và chuyển hướng nó vào tài liệu default? Cách thực hiện:

1. Tạo ra thư viện lớp (tức là eurlredirect.dll) với lớp IHttpHandler duy nhất.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;

namespace eurlredirect
{
    public class RedirectHandler : IHttpHandler
    {
        public bool IsReusable
        {
            get { return true; }
        }

        public void ProcessRequest(HttpContext context)
        {
            context.Response.Redirect("Default.aspx");
        }
    }
}

2. Thêm lớp thư viện vào thư mục bin ASP.NET 2.0.

3. Cấu hình xử lý trong file web.config ứng dụng ASP.NET 2.0 bằng cách thêm các mục sau đây đến phần <httpHandlers>:
<add verb="*" path="eurl.axd" validate="false" type="eurlredirect.RedirectHandler, eurlredirect"/>

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML