AJAX :: Sys Is Undefinded - WebResource.axd ScriptResource.axd 404 Error?
Jul 12, 2010
I have a site that uses the Ajax Control Toolkit that's been running for several weeks and a week ago all of a sudden users are seeing script errors. I'm getting 'Sys' is undefined errors, as well as 'object required' and other JavaScript exceptions. The site does not function because of this.
I checked the page source and looked for the WebResource.axd and ScriptResource.axd's and tried navigating to them directly by putting the URL in the browser. I got a 404 error - file not found. If I do the same in our test environment, it comes back and asks me if I want to save or open the file. If I open it, I see the JavaScript that I am expecting (from the Ajax Control Toolkit).
In our test environment, with the same code, everything works fine. This tells me there was something on the production server that's preventing this from working. About 4 days before this started happening, we found that some user documentation (PDF) wasn't being protected by Forms Authentication (we need only legitmate users having access to it) so we added a wildcard mapping in IIS with "verify that file exists" was unchecked, knowing that if it were checked, we'd have this problem. I had one of the network admins check this setting after this started happenig and he said that it was still unchecked. I asked him to remove the wildcard mapping altogether and I still see the same behavior.
I am certain that this isn't a coding problem; again, as it went through the QA process in our test environment, everything works perfectly. And after the last deployment to production three weeks ago, everything was perfect as well. We added the wildcard mapping (which shouldn't have had an effect) and four days later the site breaks. I've asked our IT department if any changes were made to the server recently and nobody says they did.
What settings does anyone know of that might be causing this, either server or application? I checked the web.config and all the sections are there that deal with the ScriptResource HttpHandler and HttpModules. In fact, the web.configs are identical between the production and test environment, so I know it hasn't been tampered with.
My website is looking in the wrong place for the scriptresource.axd and webresource.axd. How do I point it at the correct subfolder? Or how do I set it so that scriptresource.axd and webresource.axd are stored in the root of the website?All the ajax is done within subfolders. The web.config is at the root of the website.
I built the asp.net website in release mode, set the debug flag to false in web.config, but still some of the webresource.axd and scriptresource.axd and javascript files are not getting cached. fiddler shows the status code "200" for these items instead of "304". what else I am missing to cache these files?
In my web application, I have used AJAX Toolkit and my .net version is 3.5. When I run the application and save the page, so many ScriptResource.axd and WebResource.axd generate which makes the file size 200 to 300 KB more big. After doing the same procedures mentioned in the above link, it was working fine as all ScriptResource.axd and WebResource.axd file is removed.
But when I go from one page to another page using on click, then Object Expected Error comes and when I debug it,I found one ScriptResource.axd file containing query string like .axd?d=-bA.like this and Request. GetResponse cannot find the file and it gives 404 errror (File Not Found).
I have setup my website (ASP.NET 3.5) with AJAX, running with no problems at all.
When I test my website locally and on my main top level domain, there are no problems.
When I'm on a subdomain page, AJAX client side framework fails to load. I observed the problem deeply and found that whenever I'm on a subdomain page, WebResource.axd DOES load but ScriptResource.axd DOESN'T load (returns 404 Not Found error). I think I should modify some entries at web.config file, but I have no idea on what to do?
I have page that works ok on localhost, but it throws an error on server. This pages was working ok before until I added additional grid to updatePanel. Is there any limit how many grids you can have in updatePanel. The error message is below.
Message: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500 Line: 4723 Char: 21 Code: 0
Problem: This problem occurs only in one client machine running IE8. I believe that it is a configuration/component problem because I also running IE8 and it works fine. Following error message pop up every time when the button is click inside the update panel.It occurs once I try to click a button inside the updatePanel. Controls inside updatePanel disappears, and the updateProgress keep running.
I tried so many solutions including following
Changing the Web.config with "~/scriptResource.axd" There is no timer control from AjaxControlToolkit on the page. I have checked modified dates, which are correct on the AJAX Control Tool Kit assemblies as accepted.if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded(); I have tried many other options with out any luck. Looks like the required ScriptResource.axd file is not getting loaded on that particular client machine due to some reason, which i can not find out. This problem occurs only in one client machine running IE8, that's making testing problematic for me.
My Configuration includes the following .NET Frame Work 2.0 with AJAX Control Tool Kit Library (1.0.61025)
Error message : Error: [Exception... "'Sys.ScriptLoadFailedException: Sys.ScriptLoadFailedException: The script 'http://gateway/ApplicationName/ScriptResource.axd?d=pXGxsCxfFpN7YoDKJe9ANJUGdhhEYXdDvlJNvZyr3dWA3jxhYKmHBTZXvAXPr8NFAZhv6MOINf4Ktd7XCgzHFg2&t=633372084573906250' failed to load. Check for: Inaccessible path.......
When I have a string in a textbox starting with a < sign, it causes server error 500 during post back. Is this a known issue?
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500 Line: 604 Char: 13 Code: 0 URI: http://.../ScriptResource.axd?d=.....
I have introduced site wide exception handling on my site to catch unexpected errors. The event handler sends a message to me when such an exception occurs. But the problem is that any clicks on my site will cause an exception to be thrown with the message: "This is an invalid webresource request."
I googled for an answer and only found a couple of references to 1. setting a fixed machinekey (which for some reason didn't work for me, I got an error saying that the virtual directory wasn't set in IIS, and as far as I know I'm not using IIS at all, I'm using the local development environment and then deploy to a web host) or 2. using a robots.txt file to stop robots from accessing the axd files, but that doesn't help either because it's not robots that cause the problem, anyone clicking around on the page will cause this error. how to solve this problem properly? For now I have handled it by catching and ignoring this particular error by the text in the error message, which works but I would rather fix it so that this error doesn't occur at all.
I migrated an ASP.NET 3.0 application from one web server to another. The only difference that I know of between these webservers are, one is running II6 and the new one (the one this app was moved to) is running IIS7. The application was running fine in it's old environment, no code changes were made, but now it doesn't seem to like the web.config. I get the following error:
We Installed new application in our dedicated server. I struggle with an issue for the last few days. I get 404 no found in all WebResource.axd requests.
I have uninstall and install .net 2.0 - I have .net 3.5 installed as well. using webresource decrypter I found that many JS files, such as WebForms.js generate the erorr.
In my website i have used ajax. I have made a subdomain. All the files are in the subdomain. But no ajax controls are working. When viewing source,
<script src="/subdomain/ScriptResource.axd?d=pIGD9Q63Ayfy9TvkTDZXYa7KKGxArRY0b7cvnO2ePCz6Y3RvV0egKLh8SptZV4uh0uHt-WTAswFxYQAekdl0wytwvJVYp1G-DPHL4quv6Vc1&t=633528638860312500" type="text/javascript"></script> is coming.
We host a SaaS application on 4 windows 2008 servers loadbalancer via a LVS. We use infragistics and Ajax Control Toolkit on several pages, one page represents a list of people using a Web Datagrid, each time a person is clicked in the list, an Ultra Web Tab component is updated at the botom of the page with detailed information on that person. After a certain amount of clics on different people (number of clics can be between 1 and 5) Scriptresource.axd craches with the following error :
[Code]....
I don't get this error when I run my application on one server using the server's private IP adress. I tried to synchronize the dates of the dlls System.Web and System.Web.Extensions on each server, I still get the same error.
I'm having a problem trying to combine the ScriptResource.axd files automatically generated by Ajax using ScriptManager's CompositeScript property....on some pages there's 15 of these files, so I'd like to reduce that number to reduce the HTTP requests. I tried following the post here - [URL] - but am getting errors when trying to do what it instructs, such as:
Microsoft JScript runtime error: 'Sys' is undefined Microsoft JScript runtime error: ASP.NET Ajax client-side framework failed to load. Below is the code I am using for the ScriptManager. These errors go away if I do not use CompositeScript. Has anyone else attempted to combine these files? Am I doing something wrong in this code?
I use ASP.NET Ajax in my web site and I am monitoring the HTTP requests per each page. I am surprised by the excessive call of ScriptResource.axd with different query string variables. I am pasting a sample of HTTP trace below. The call for ScriptResource.axd take lots time percentage out of total response time. Is this by design or there is something wrong with my AJAX configuration in web.config?
[Code]....
Actually it is degrading the performance of the application. And the user experience becoming very poor in case of lower bandwidth.
We have an issue when our web application runs under reverse proxy.
The reverse proxy change the URL for the website from for example: "http://TestWebApp/" to: "http://ProxyDomain/Test/" when it runs under reverse proxy which is mapped to "http://TestWebApp/" and rout requests to it.
This raise an issue of root relative paths (paths that start with "/" to be relative to the root of the web application i.e. "/Folder1/Test.aspx"). Generally all paths that need to be rendered to client we use ResolveClientUrl method and all is good.
When using Ajax controls and ScriptManager WebResource.axd paths are rendered in script tags as a relative url paths ("/WebResource.axd?blablabla") because the root under reverse proxy is the proxy domain itself the path is useless - the web resouce is not downloaded and the application break.
To fix this we tried to set a Response.Filter in OnPreRender event handler of our base page. In our custom filter we use Regex to search and replace all "/WebResource.axd" occurences with the resolved to client root path using the ResolveClientUrl method of the page. This works great and the web resources are downloaded to client.
But this is not the end of our troubles.
In Ajax requests the response output is fixed as described but when recieved at the client end it is not valid and the partial update fails with Sys.WebForms.PageRequestManagerParserErrorException.
It fails to parse the response because the rendered response have numbers that states the actual count of bytes per rendered component (which includes the script tags referencing the WebResource.axd). The client reciever validates the recieved response according to the numbers, but, our filter altered the response so the numbers are not correct and the response validation fails.
We can try and code a smart filter that parse the response and recalculate the numbers according to the ammount of paths fixed, but I hope there is an elegant and better solution for this.
I have an asp.net web site where I'm trying to resolve what looks like a problem with ASP.NET AJAX:
Microsoft JScript runtime error: Sys.ArgumentTypeException: Object of type 'Sys.Extended.UI.AccordionBehavior' cannot be converted to type 'Sys.UI.Behavior'. Parameter name: instance
I've googled around a lot, and looked at the code presented (see below, no idea what it means) but no luck.
I've tried changing scriptmanger scriptmode to release, and a bunch of other things too.
Details:
Visual Studio 2010 ASP.NET 4.0 Ajax control toolkit 4.0 jQuery 1.4.2 jQuery UI 1.8.5
JS Code the error occurs in, inside ScriptResource.axd:
dispose:function() { var c=this; b.UI.Behavior.callBaseMethod(c,eb); --------- this line var d=c._element; if(d) { var f=c.get_name(); if(f) d[f]=a; var e=d._behaviors; Array.remove(e,c); if(!e.length) d._behaviors=a; delete c._element } }
*Update: * Added accordion control declaration as requested, is there anything else I can add that could be useful?
Does anyone have any idea about this error at all - am I right in thinking it's MS AJAX not playing nicely with other javascript (probably jQuery UI) on the page?
Scenario: I have a complex Asp.net app serving various units through programmatically constructed control collections in HttpModules. Some of these controls use Asp.NET Ajax.
Across many different units, ScriptResource.axd averages a transfer size of ~27k.
I have a ceiling that only allows ~3k for it.
There definitely isn't time to retrofit all the Ajax functionality with jQuery or hand-rolled js functions or whatnot. We already have the .axd coming over with gzip encoding (uncompressed it's more like 97k). It's often cached, but that doesn't matter: I have to hit a hard, low, externally-imposed limit on first-request total transfer size... markup, scripts, images & all summed up a-la firebug. I've been avoiding the .axds, but there really isn't anywhere else to shave bytes, and I have 24k to go.
Possible approaches: I'm not yet using Asp.NET 3.5 SP1's compositescript functionality, but I figure that would only save on request/response headers, and I'm not even sure headers count against me.
I don't have any other ideas other than something radical, like creating a response filter that uses reflection & some dictionaries to figure out what js functions are actually needed, and only emit those. I could cache the resulting list for each unit, since I have a low response time ceiling as well, and I don't think the .axds change from one request to another. Is this feasible? Any other ideas? ...what if I buy beer for the hero with a solution?
What I don't know is which script references to add. In my page I have lots of <script src="/ScriptResource.axd?d=big-string-here" type="text/javascript"></script>
How do I discover what <asp:ScriptReference Name="x" Assembly="Y" /> tags I should add to the CompositeScript tag? There's a usercontrol out there with this specific aim, and we even have already used it before, but I can't find it again o Google.
EDIT
The usercontrol I was looking for is ScriptReferenceProfiler. How to use it.