2013-09-27 56 views
14

Trong quá khứ tôi đã sử dụng một số mã của tôi nghĩ rằng Scott Hanselman của Microsoft. Tuy nhiên bây giờ tôi đang sử dụng MVC5 và tôi không nghĩ rằng mã đó là hợp lệ nữa.Có cách nào tôi có thể gỡ lỗi một tuyến đường trong ASP. MVC5?

Có cách nào tôi có thể theo dõi các tuyến đường thực hiện trong MVC5 để tôi có thể biết lý do tại sao tôi thấy tin nhắn như:

HTTP Error 404.0 - Not Found 
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

Trả lời

3

Hãy xem Glimpse. Một trong các mô-đun mà nó đi kèm với là một mô-đun Tuyến đường cho phép bạn xem chi tiết về các tuyến đường đã được kiểm tra, các giá trị được chuyển vào và các giá trị nào khớp với (nếu có).

+4

này là tốt nếu con đường của tôi được kết hợp bởi một số điều khiển, nhưng làm thế nào có thể gỡ lỗi các tuyến đường dẫn đến lỗi 404? –

+0

@AdrianGrigore xem câu trả lời tôi đã thêm, nó có thể giúp bạn với lỗi 404. – c0y0teX

+0

Cái nhìn thoáng qua không thực sự hữu ích nếu định tuyến đi sai và bạn cố gắng tìm ra lý do. –

12

Tôi biết đã muộn cho OP nhưng đối với bất kỳ ai khác cố gắng gỡ lỗi lỗi 404 tôi đã tìm thấy cách chặn kết quả tuyến đường và xem lý do không tìm được tài nguyên.

Trong Global.asax.cs override Init như thế này:

public override void Init() 
    { 
     base.Init(); 
     this.AcquireRequestState += showRouteValues; 
    } 

    protected void showRouteValues(object sender, EventArgs e) 
    { 
     var context = HttpContext.Current; 
     if (context == null) 
      return; 
     var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(context)); 
    } 

Các routeData biến sẽ tổ chức các thông tin tuyến đường như nó đang được giải thích. Tôi đã thử nghiệm này trên MVC5.

tôi ban đầu đụng vào phương pháp này trong một câu trả lời bởi Paul Evans, đây là liên kết (nhờ @porcus cho việc tìm kiếm nó): stackoverflow.com/a/25466524

+2

Đây là liên kết đến câu trả lời SO khác mà bạn có thể đã nhận đoạn mã đó từ: http://stackoverflow.com/a/25466524 Và tôi khen bạn vì đã cố gắng phân bổ. – porcus

+0

@porcus đó là câu trả lời ban đầu thực sự, tôi sẽ cập nhật câu trả lời của tôi để liên kết với nó, cảm ơn. – c0y0teX

Các vấn đề liên quan