2011-01-25 36 views
15

Xin chào mọi người, tôi có ứng dụng .net 4 mà tôi vừa triển khai để sản xuất. Tải ứng dụng tốt, ngoại trừ các tệp js được tham chiếu của tôi không tải đúng cách. Sử dụng fiddler Tôi thấy rằng các cuộc gọi ScriptResource.axd đang trả về lỗi 404.scriptresource.axd 404 lỗi trong ứng dụng asp net 4 - webresource hoạt động tốt mặc dù

Heres the kicker, trang cũng đang thực hiện cuộc gọi qua WebResource.axd và yêu cầu đó chỉ hoạt động tốt.

Bất kỳ ý tưởng nào tôi có thể kiểm tra? Đang chạy IIS7. Nó được cân bằng tải, nhưng chúng tôi có các phím máy trong cấu hình. Tôi đã thêm một phần httpHandlers cho scriptresource.axd .. nhưng Im vẫn gặp sự cố tương tự .. stumped ...

Cập nhật - chúng tôi nghĩ rằng websrver không biết tệp axd là gì. Có bất kỳ cài đặt cho. Net mà sẽ cài đặt các bản đồ axd trong iis?

Trả lời

2

"404" cũng có thể có nghĩa là (trong các điều kiện nhất định) "Không được bật" hoặc "không được phép". Tôi đã có một số thời gian trở lại trên một máy chủ và đã cho phép một số phần mở rộng.

Một cách khác là sử dụng Process Monitor để xem liệu các tệp thực đang được tìm kiếm bởi quá trình IIS và không tìm thấy.

+0

cảm ơn bạn đã theo dõi quy trình –

1

Tôi chạy vào vấn đề này. Các giải pháp trên không làm việc cho tôi, nhưng những gì đã làm công việc là một nhận xét từ this page:

vấn đề này đi kèm nếu file web.config của bạn không có trong thư mục gốc hoặc thư mục không phải là một ứng dụng trong IIS.

Tôi đã giải quyết nó bằng cách sao chép tệp web.config vào thư mục gốc của trang web.

2

Hai giải pháp khả thi từ http://blogs.msdn.com/b/carloc/archive/2008/12/04/webresource-axd-or-scriptresource-axd-not-working.aspx:

  1. IIS nén gây ra các yêu cầu WebResource.axd thất bại. Tắt tính năng nén cho ứng dụng web IIS và thử lại.
  2. Web.config cho thư mục gốc IIS hoặc ứng dụng cụ thể có ScriptMaps được đặt để xác thực * .axd hoặc WebResource.axd là tệp thực (không phải tệp đó). Đọc liên kết để biết các bước sửa lỗi (ít nhất là đối với IIS6 :-)).

Liên kết cũng có thông tin nền WebResource.axd tốt ngay cả khi nó không trực tiếp giải quyết vấn đề của bạn. Vấn đề của tôi WebResource.axd 404 vấn đề không may chỉ xảy ra khi Fiddler đang chạy (!), Nhưng đó là một câu hỏi riêng biệt so với câu hỏi được đăng.

Tận hưởng! - Zephan

3

tôi đã cùng một vấn đề ngày hôm nay, nhưng nó được gây ra bởi một quy tắc viết lại đã được viết lại theo yêu cầu từ /ScriptResource.axd' to /some_application/ScriptResource.axd', mà không phải là một mục tiêu hợp lệ. Việc sửa quy tắc để bỏ qua các url có số .axd đã giải quyết được vấn đề.

+0

Yup, tôi cũng thế. Đẹp nhất. –

+0

Đây cũng là vấn đề của tôi. Web.config là tốt, chế độ gỡ lỗi đã không giúp đỡ, vô số khởi động lại ... tất cả cùng, lỗi được gây ra bởi các quy tắc viết lại kém. Cảm ơn bạn David! – Emanuel

2

Kiểm tra thời gian trên máy chủ không được đặt trước thời điểm trang web được xuất bản.

+0

Tôi không thể cảm ơn đủ để giảm huyết áp, bạn đã kéo dài cuộc sống của mình vài ngày! –

1

Đối với tôi vấn đề là máy chủ của tôi đã được đặt sai thời gian. Ngày đó được đặt thành ngày 6/12/2012 thay vì ngày 21/6/2013. Đã sửa lỗi ngày và bài tập! nó bắt đầu làm việc :)

3

này đã làm việc cho tôi:

Thêm xử lý dưới đây để web.config của bạn:

<system.webServer> 
<handlers> 
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode" /> 
+0

Đây là dành cho IIS 7.x và tôi không nghĩ rằng bạn aboslutely cần preCondition = "integratedMode". –

+1

Đây là phiên bản .NET 4.0

2

Đối với tôi, tất cả các file AXD bị thất bại. Sau khi dành cả tuần, hãy thử mọi câu trả lời được tìm thấy trên Internet, không có may mắn:

Tôi đã tạo các tệp trống ScriptResource.axdWebResource.axd và giải quyết vấn đề. Tôi rất muốn biết vấn đề thực sự là gì.

+0

Nó hiệu quả với tôi. cảm ơn bạn ! – Erdogan

0

Điều này có thể được giải quyết theo hai cách. Một là thiết lập cài đặt nhóm ứng dụng IIS7 Quản lý chế độ đường dẫn đến cổ điển khi sử dụng cài đặt HttpHandlers. Nếu IIS7 và/hoặc IIS7 Express phải sử dụng tích hợp thay vì Classic, thì chúng ta cần phải sử dụng các thiết lập system.webServer.handlers với thuộc tính điều kiện tiên quyết được đặt thành chế độ tích hợp.

Đây là sự cố thường gặp khi di chuyển một số ứng dụng web cũ sang môi trường được lưu trữ trên đám mây. Để biết thêm chi tiết, xem bài viết này:

http://www.ozkary.com/2015/12/404-error-axd-http-handler.html

Hy vọng điều đó sẽ hữu ích.

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