2011-04-01 28 views
9

Tôi nhận thấy rằng yêu cầu đến "favicon.ico" đang được chuyển đến nhà máy điều khiển ASP .NET MVC của tôi khi sử dụng Google Chrome và Visual Studio Development Server. Tham số controllerType có giá trị là null không có gì đáng ngạc nhiên dẫn đến một ngoại lệ không được giải quyết, mà tôi chỉ biết về do nhật ký lỗi.Bộ điều khiển nhà máy nhận được yêu cầu cho "favicon.ico"

Bất kỳ ý tưởng nào mà yêu cầu đến từ đâu và tại sao ASP .NET cho phép nó đến nhà máy điều khiển? Ví dụ, các tệp CSS và hình ảnh đang được lọc ra một cách chính xác.

Trả lời

9

Với IIS7 trong chế độ tích hợp tất cả các yêu cầu được tạo đường hầm cho đường ống. bạn có thể thêm nó để bỏ qua các tuyến đường của bạn

asp.net mvc does it handle all requests? - iis 7 integrated mode

tài nguyên khác

http://weblogs.asp.net/gunnarpeipman/archive/2009/02/26/asp-net-mvc-ignore-requests-to-favicon-ico.aspx

Gấu nhớ đến bạn chỉ nhìn thấy điều này như bạn đang ở trong chế độ gỡ lỗi. Người dùng của bạn sẽ không nhìn thấy nó (Không tối ưu, nhưng tôi không thiết kế nó)

+3

"routes.IgnoreRoute (" favicon.ico ");" cảm ơn công việc! –

+0

Oh .... Tôi lấy lại. Bây giờ tôi chỉ nhận được ngoại lệ 'Không tìm thấy tệp' thay thế. –

+0

Có, điều đó sẽ ngăn không cho bản đồ bị cố gắng điều khiển. Bạn cũng cần phải thêm tập tin (giải pháp đơn giản nhất) - Đã thêm một số thông tin khác – Slappy

2

Tôi cũng nhận thấy điều này xảy ra với chrome. Tôi tin rằng nó là trình duyệt tìm kiếm favicon trang web (biểu tượng nhỏ bên cạnh tab của nó) với đường dẫn mặc định của /favicon.ico. MVC trys để tìm một bộ điều khiển phù hợp với tuyến đường đó và đi lên trống.

Sửa lỗi dễ nhất có lẽ chỉ là thêm hình ảnh favicon vào thư mục gốc của bạn được gọi là favicon.ico hoặc sử dụng thẻ liên kết trong phần đầu của html để trỏ đến một nơi khác.

ví dụ

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> 
Các vấn đề liên quan