Tôi có một dự án bộ điều khiển ASP.Net/AJAX mà tôi đang làm việc. 80% thời gian không có vấn đề. Các trang chạy như nó cần. Nếu bạn làm mới trang, đôi khi nó sẽ hiển thị lỗi javascript "Sys không xác định".
Nó không xảy ra mọi lúc, nhưng nó có thể tái sản xuất. Khi nó xảy ra, người dùng phải tắt trình duyệt của họ và mở lại trang.
Điều này khiến tôi tin rằng đó có thể là cài đặt IIS.
Một lưu ý khác. Tôi đã xem xét nguồn trang cả khi tôi gặp lỗi và khi không. Khi trang ném lỗi, đoạn mã sau bị thiếu:
<script src="/ScriptResource.axd?d=EAvfjPfYejDh0Z2Zq5zTR_TXqL0DgVcj_h1wz8cst6uXazNiprV1LnAGq3uL8N2vRbpXu46VsAMFGSgpfovx9_cO8tpy2so6Qm_0HXVGg_Y1&t=baeb8cc" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
if (typeof(Sys) === 'undefined') throw new Error('ASP.NET Ajax client-side framework failed to load.');
//]]>
</script>
Tôi đã khắc phục sự cố của mình bằng cách di chuyển <script type="text/javascript"></script>
khối chứa Sys. * gọi xuống thấp hơn (đến mục cuối cùng trước khi đóng của cơ thể <asp:Content/>
phần) trong HTML trên trang. Ban đầu tôi có khối kịch bản của mình trong HEAD <asp:Content/>
phần của trang của tôi. Tôi đã làm việc bên trong một trang có MasterPageFile. Mong rằng nó giúp ai đó thoát.
Khi tôi gặp lỗi
trong IE khi sử dụng các điều khiển ASP.NET Ajax trong .NET 2.0, tôi cần thêm phần sau vào tệp web.config trong <system.web>
thẻ:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>
Câu trả lời của Dean L, https://stackoverflow.com/a/1718513/29206 làm việc cho tôi, vì cuộc gọi của tôi đến Sys cũng quá sớm. Vì tôi đang sử dụng jQuery, thay vì chuyển nó xuống, tôi đặt tập lệnh bên trong một tài liệu. Đã gọi:
$(document).ready(function () {
Sys. calls here
});
Điều này dường như là đủ muộn để Sys có sẵn.
Tôi đã sử dụng telerik và có cùng một vấn đề.
thêm phần này vào web.config đã giải quyết vấn đề của tôi :)
<location path="Telerik.Web.UI.WebResource.axd">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
có lẽ nó sẽ giúp bạn quá đó là vấn đề xác thực.
Hãy thử thiết lập ScriptManager của bạn.
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
Hãy thử một trong những giải pháp này:
1. Trình duyệt không tải được tập lệnh nén
Đây thường là trường hợp nếu bạn gặp lỗi trên IE6, nhưng không phải trên các trình duyệt khác.
Trình xử lý tài nguyên tập lệnh - ScriptResource.axd nén các tập lệnh trước khi đưa chúng trở lại trình duyệt. Trong các bản phát hành trước RTM, trình xử lý đã làm tất cả thời gian cho tất cả các trình duyệt và nó không thể cấu hình được. Có một vấn đề trong một trong các thành phần của IE6 ngăn nó tải các tập lệnh nén một cách chính xác. Xem bài viết KB tại đây . Trong RTM bản dựng, chúng tôi đã thực hiện hai bản sửa lỗi cho việc này. Một, chúng tôi không nén nếu IE6 là ứng dụng khách trình duyệt. Hai, giờ đây chúng tôi đã tạo cấu hình nén. chuyển đổi web.config.
Làm thế nào để bạn sửa chữa nó? Trước tiên, hãy đảm bảo bạn đang sử dụng AJAX Tiện ích mở rộng 1.0 RTM. Chỉ vậy thôi là đủ. Bạn cũng có thể thử tắt tính năng nén bằng cách chỉnh sửa web của mình. cấu hình để có những điều sau đây:
<system.web.extensions>
<scripting>
<scriptResourceHandler enableCompression="false" enableCaching="true" />
</scripting>
</system.web.extensions>
2. Cấu hình bắt buộc cho ScriptResourceHandler hiện không tồn tại cho web.config cho ứng dụng của bạn
Đảm bảo web.config của bạn chứa các mục từ tệp web.config mặc định được cung cấp cùng với phần mở rộng. (vị trí mặc định: C:\Tệp chương trình\Microsoft ASP.NET\ASP.NET 2.0 AJAX Tiện ích mở rộng\v1.0.61025)
3. Thư mục ảo bạn đang sử dụng cho web của mình, không được đánh dấu chính xác là một ứng dụng (do đó cấu hình không được tải) - Điều này sẽ xảy ra với IIS web.
Đảm bảo rằng bạn đang sử dụng Ứng dụng web chứ không chỉ là Thư mục ảo
4. Yêu cầu ScriptResource.axd trả về 404
Điều này thường chỉ ra một cấu hình sai của ASP.NET nói chung. Trên bản cài đặt mặc định của ASP.NET, mọi yêu cầu web tới tài nguyên kết thúc bằng .axd được truyền từ IIS sang ASP.NET thông qua ánh xạ isapi. Ngoài ra, ánh xạ được định cấu hình để không kiểm tra xem tệp tồn tại. Nếu ánh xạ đó không tồn tại hoặc kiểm tra nếu tệp tồn tại không bị vô hiệu hóa, thì IIS sẽ cố gắng tìm tệp vật lý ScriptResource.axd, sẽ không tìm thấy nó, và trả về 404.
Bạn có thể kiểm tra xem liệu đây có phải là sự cố hay không bằng cách coipy/dán url đầy đủ vào ScriptResource.axd từ đây và xem những gì nó trả về
<script src="/MyWebApp/ScriptResource.axd?[snip - long query string]" type="text/javascript"></script>
Làm thế nào để bạn khắc phục điều này? Nếu ASP.NET không được cài đặt đúng cách, bạn có thể chạy công cụ dòng lệnh "aspnet_regiis.exe" để sửa lỗi. Nó nằm trong C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727. Bạn có thể chạy "aspnet_regiis -i -enable", đăng ký đầy đủ ASP.NET với IIS và đảm bảo ISAPI được bật trong IIS6. Bạn cũng có thể chạy "aspnet_regiis -s w3svc/1/root/MyWebApp "để chỉ sửa lỗi đăng ký cho ứng dụng web của bạn.
5. Giải quyết lỗi "Sys là không xác định" trong ASP.NET AJAX RTM under IIS 7
Đặt mục này dưới <system.webServer/><handlers/>
:
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
và xóa cái dưới <system.web/><httpHandlers/>
.
Tài liệu tham khảo: http://weblogs.asp.net/chrisri/demystifying-sys-is-und xác địnhhttp://geekswithbloss.net/lorint/archive/2007/03/11/ 110161.aspx
Bạn phải thêm các dòng này trong web.config
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
Hi vọng điêu nay co ich.
Ngoài việc đảm bảo bạn có ScriptManager trên trang của mình, bạn cần đảm bảo rằng web.config của bạn được cấu hình phù hợp.
Khi ASP.NET AJAX 1.0 được phát hành (đối với .NET 2.0), có rất nhiều cài đặt web.config tùy chỉnh có thêm trình xử lý, điều khiển, v.v.
Bạn sẽ tìm thấy thông tin cấu hình ở đây: http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
Đảm bảo rằng bất kỳ tập lệnh máy khách nào bạn có tương tác với .NET AJAX đều có dòng sau:
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Điều này nói với trình quản lý tập lệnh rằng toàn bộ tệp tập lệnh đã được tải và nó có thể bắt đầu gọi các phương thức máy khách
Tôi ghét thêm vào một chủ đề lớn như vậy và rất nhiều sau này, nhưng tôi nghĩ rằng tôi ít nhất cũng có một giải pháp hoạt động trong VS2015.
Tôi đã đi săn để tìm lý do cho lỗi sys và giải pháp duy nhất hiệu quả với tôi là thêm EnableCdn="true"
trong một ScriptManager
như thế này:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableCdn="true" />
Xem MSDN để biết thêm thông tin.
Tại sao chúng ta cần phải làm điều này?
Khi làm việc trên ứng dụng web asp.net, bạn phải bật CDN để Microsoft có thể tải xuống Sys.
thư viện.
Có thể có một tập lệnh trong trang của bạn đang sử dụng hàm Sys
. Cài đặt EnableCdn="true"
sẽ đảm bảo rằng thư viện Sys
được tải xuống trước khi sử dụng.
CDN là gì?
Báo giá từ https://www.sitepoint.com/7-reasons-to-use-a-cdn/
Hầu hết các CDN được sử dụng để Lưu trữ tài nguyên tĩnh như hình ảnh, video, clip âm thanh, tệp CSS và JavaScript. Bạn sẽ tìm thấy các thư viện JavaScript phổ biến, các miếng chêm HTML5, bộ CSS, phông chữ và các tài sản khác có sẵn trên nhiều hệ thống CDN công cộng và riêng tư.
Cả Google và Microsoft đều có CDN. Tất cả bạn phải làm là thêm một tài liệu tham khảo. Thông thường CDN được thêm thông qua tài nguyên tập lệnh:
<script src="https://ajax.aspnetcdn.com/ajax/4.5.1/1/MicrosoftAjax.js" type="text/javascript"></script>
Khi bạn đặt EnableCdn="true"
và Microsoft sẽ thêm tài liệu tham khảo CDN nhỏ của mình (như trang trên) vào trang tải xuống thư viện Sys
.
Tôi hy vọng điều đó sẽ giúp bất cứ ai gặp phải vấn đề tương tự.
Tôi đã gặp vấn đề tương tự và sau nhiều tranh cãi, tôi quyết định thử và cách ly vấn đề và chỉ cần tải trình quản lý tập lệnh vào một trang trống vẫn dẫn đến lỗi tương tự. Sau khi tách biệt vấn đề, tôi phát hiện ra thông qua so sánh web.config của trang web của tôi với một trang web thử nghiệm hoàn toàn mới (đang hoạt động) thay đổi <compilation debug="true">
đến <compilation debug="false">
trong phần system.web của web.config của tôi đã khắc phục sự cố.
Tôi cũng phải xóa <xhtmlConformance mode="Legacy"/>
mục nhập từ system.web để làm cho bảng cập nhật hoạt động chính xác. Bấm vào đây để biết mô tả về vấn đề này.
Trong trường hợp của tôi, vấn đề là tôi đã viết mã sau để giữ tiêu đề bảng lưới sau khi gửi lại một phần:
protected override void OnPreRenderComplete(EventArgs e)
{
if (grv.Rows.Count > 0)
{
grv.HeaderRow.TableSection = TableRowSection.TableHeader;
}
}
Loại bỏ mã này đã dừng vấn đề.
Tôi đã giải quyết vấn đề này bằng cách tạo giải pháp ajax asp.net riêng biệt và sao chép và dán tất cả cấu hình ajax từ web.config vào dự án làm việc.
đây là cấu hình bắt buộc bạn nên đặt trong web.config
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</configSections>
<assemblies>
<add Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
</compilation>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</handlers>
</system.webServer>
Tôi gặp vấn đề tương tự sau khi cập nhật AjaxControlToolkit.dll lên phiên bản mới nhất 4.1.7.725 từ 4.1.60623.0. Tôi đã tìm kiếm và đến trang này, nhưng không có câu trả lời nào giúp tôi. Sau khi tìm đến trang web mẫu của Bộ công cụ điều khiển Ajax có trong tệp CodePlex Zip, tôi đã nhận ra rằng <asp:ScriptManager>
Được thay thế bằng <ajaxtoolkit:ToolkitScriptManager>
Mới. Tôi đã làm như vậy và không có Sys.Extends là không xác định nữa.
Trong trường hợp không có cách nào ở trên phù hợp với bạn và bạn tình cờ ghi đè OnPreRenderComplete, hãy đảm bảo bạn gọi base.OnPreRenderComplete. Chuyên gia trị liệu của tôi sẽ rất vui khi gặp lại tôi
Trong trường hợp của tôi, tôi đã tìm thấy một lý do rất ẩn ... Có tuyến đường trang này với Global.ascx.cs không xuất hiện trong các thử nghiệm của tôi trong các thư mục phụ nhưng trả về câu hỏi lỗi tất cả thời gian .. một ngày khác với các vấn đề lạ.
routes.MapPageRoute("siteDefault", "{culture}/", "~/default.aspx", false, new RouteValueDictionary(new { culture = "(\\w{2})|(\\w{2}-\\w{2})" }));
Ngay cả sau khi thêm mục chính xác cho cấu hình web vẫn nhận được lỗi này? Lý do phổ biến nhất cho lỗi này là JavaScript tham chiếu không gian tên Sys quá sớm. Sau đó, sửa chữa rõ ràng nhất sẽ là di chuyển khối tập lệnh Java bên dưới điều khiển ScriptManager:
Hãy chắc chắn rằng bạn không có bất kỳ quy tắc Viết lại nào thay đổi url của bạn.
Trong trường hợp của tôi, ứng dụng nghĩ rằng nó chỉ ở mức sâu hơn thì url đạt được.
Ví dụ: http://mysite.com/app/page.aspx là url thực. Nhưng tôi đã cắt/ứng dụng/cái này hoạt động tốt cho ASP.net và WCF, nhưng rõ ràng không phải cho Ajax.
Thêm vào
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
Vui lòng kiểm tra nhập mô tả liên kết tại đây
Nếu tất cả web.config
giải pháp không hiệu quả với bạn và bạn đã triển khai PageRouting (IIS 7+), sau đó đoạn mã dưới đây sẽ giải quyết vấn đề của bạn.
Không có nghĩa là Highjack câu hỏi này nhưng có cùng một vấn đề như mọi người khác và đã thực hiện 100% các đề xuất ở đây, với các sửa đổi nhỏ cho .Net 4.0/4.5, và không ai trong số chúng làm việc cho tôi.
Trong tình huống của tôi, tôi đã thực hiện Định tuyến trang đang làm mờ vấn đề của tôi. Về cơ bản, nó sẽ hoạt động trong khoảng 20 hoặc lâu hơn, gỡ lỗi chạy và sau đó BAM sẽ báo lỗi với Sys is undefined
lỗi.
Sau khi xem xét một vài bài đăng khác, có thể nói về logic Clean-URL, tôi nhớ rằng tôi đã thực hiện cài đặt PageRouting.
Đây là tài nguyên tôi đã sử dụng để xây dựng các mẫu của mình: Định tuyến trang
Mã một lớp lót của tôi đã khắc phục sự cố Gỡ lỗi VS2012 của tôi:
rts.Ignore("{resource}.axd/{*pathInfo}") 'Ignores any Resource cache references, used heavily in AJAX interactions.
Điều này nghe có vẻ ngu ngốc nhưng tôi đã gặp vấn đề tương tự với một trang web được phát triển trong VS2010 và được lưu trữ trong VS Dev Server. Trang được đề cập có một scriptmanager để tạo kết nối đến dịch vụ wcf. Tôi đã thêm một phương thức bổ sung cho dịch vụ và lỗi này bắt đầu xuất hiện.
Điều đã khắc phục nó đối với tôi là thay đổi từ 'Cổng tự động gán' thành 'Cổng cụ thể' với số cổng khác nhau trong cài đặt Web gốc.
Tôi ước tôi biết tại sao ...
Đã có một vấn đề tương tự, ngoại trừ việc trang của tôi liên tục tạo ra Sys là lỗi không xác định.
Đối với tôi, vấn đề bắt nguồn từ việc tôi vừa cài đặt phần mở rộng AJAX 1.0 cho .NET 2.0 nhưng đã tạo dự án web của tôi trong Visual Studio.
Khi cố gắng tạo AJAX điều khiển Tôi liên tục gặp phải lỗi này, tôi đã phát hiện ra các bài đăng của Slace và MadMax1138 ở đây. loại dự án trang web và chắc chắn web.config có số lượng lớn các tùy chỉnh cần thiết để sử dụng các điều khiển AJAX.
Tôi vừa cập nhật web.config đó với các bản cập nhật web.config tôi đã tự tạo và thả nó vào dự án hiện tại của tôi và mọi thứ đều hoạt động tốt.
Tôi đã có cùng một vấn đề nhưng tôi đã sửa nó bằng cách:
Khi đặt tệp tập lệnh vào một trang, hãy chắc chắn rằng đó là
<script></script> and not <script />.
Tôi đã theo dõi điều này: http://forums.asp.net/t/1742435.aspx?An+element+with+id+form1+could+not+be+found+Script+error+on+page + tải
Hy vọng điều này sẽ giúp
Tôi đã thấy chính xác lỗi tương tự ngày hôm nay, nhưng đó không phải là vấn đề cấu hình hoặc JavaScript trực tiếp.
Một dự án .net bên ngoài đã được cập nhật nhưng những thay đổi không được chọn đúng trong quá trình biên dịch trang web. Giả định của tôi là ASP.NET ajax không thể xây dựng các biểu diễn máy khách của các đối tượng .NET đúng cách và do đó không tải được chính xác.
Để giải quyết, tôi đã xây dựng lại (các) dự án bên ngoài và xây dựng lại giải pháp đang gặp sự cố. Vấn đề đã biến mất.
Tôi đã gặp vấn đề tương tự và thật ngạc nhiên khi tôi thấy rằng một trong những nhà phát triển của tôi đã lưu web.config trong cùng thư mục/giải pháp như web123.config và do nhầm lẫn cả hai tệp này đã được tải lên.
Ngay sau khi tôi xóa tệp web123.config, lỗi này đã biến mất và khung ajax đang tải chính xác. mặc dù tôi có
<compilation debug="true">
Trong trường hợp của tôi, tôi cũng có phân khúc sau. Dự án của tôi đang sử dụng khung 3.5
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
Tôi không nghĩ rằng điểm này đã được thêm vào và vì tôi vừa dành thời gian săn lùng nó, tôi hy vọng nó có thể giúp ích.
[.___.] Tôi đang làm việc với IIS 7 và sử dụng ASP.NET v4 Framework.
[.__.] Trong trường hợp của tôi, đó là quan trọng là một mục nhập được thêm vào cả phần và phần của mục trong tệp web.config.
[.__.] Tệp web.config của tôi có rất nhiều trình xử lý và trong trường hợp của tôi, cách dễ nhất là thêm mục nhập ScriptResource vào đầu phần xử lý. Quan trọng nhất, nó cần được đặt trước bất kỳ mục nào sẽ hoạt động như một ký tự đại diện và nắm bắt yêu cầu. Thêm nó sau khi nhập ký tự đại diện sẽ khiến nó bị bỏ qua và lỗi vẫn xuất hiện.
[.___.] Mô-đun có thể được thêm vào đầu hoặc cuối của phần.
[.__.] Mẫu Web.config:
<system.webServer>
<handlers>
<clear />
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<!-- Make sure wildcard rules are below the ScriptResource tag -->
</handlers>
<modules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<!-- Other modules are added here -->
</modules>
</system.webServer>
Tôi đã tìm thấy lỗi khi sử dụng kết hợp Bộ công cụ điều khiển Ajax ToolkitScriptManager và URL Write 2.0.
Trong tôi <rewrite> <outboundRules>
Tôi đã có một điều kiện tiên quyết:
<preConditions>
<preCondition name="IsHTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/>
</preCondition>
</preConditions>
Nhưng rõ ràng một số quy tắc ra bên ngoài của tôi không được thiết lập để sử dụng điều kiện tiên quyết.
Khi tôi đã đặt chế độ PreCondition đó lên tất cả các quy tắc ra bên ngoài của mình:
<rule preCondition="IsHTML" name="MyOutboundRule">
Không còn vấn đề nữa.
Xin vui lòng kiểm tra xem Máy chủ có cài đặt ngày giờ chính xác không ...
Sau khi lãng phí 6 giờ, tôi đọc nó ở đâu đó ...
Ngày và giờ cho máy chủ phải được cập nhật để hoạt động chính xác ...
nếu không, bạn sẽ nhận được 'Sys' là lỗi không xác định.