Very strange access issues
need to explain the history first, and then what we have done so far... may be a bit long.
We have inherited a .net web application talking to SQL using Infragistics Web Controls.
Have tested it all fine on a development box, and works great. Have rolled it out to a test box, and all works great. Then, have rolled out to a Production server, and now we get problems.....
The main problem is a page that has several drop down lists, you pick a value from one of the lists, and it talks to the SQL box, and then populates fields, one of them being a Infragistics Web Grid. Now, selecting a value from the drop down list sends a query to the SQL server, and I know that this is working and returning data, as all other fields on the page before the Web Grid are being populated wit开发者_运维知识库h data returned from the Query. This counts the SQL side out of the equation.
The web page throws 2 errors:
"Sys.InvalidOperationException: Type Infragistics.Web.UI.ControlMain has already been registered. The type may be defined multuiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update."
and
"Sys.ArgumentTypeException: Object of type 'Infragistics.Web.UI.WebCurrencyEditor' cannot be converted tp type ''. Parameter name: instance"
So, we have the SAME code being rolled out to THREE servers, and ONLY fails when I try to access the page that is on the Production Server. First thing you will think is - permissions.
Next step was to try on another machine (desktop), with my details, and still get the same error - all good on Dev and Test, but not on Prod. Next step, try other users on other machines. Hit and miss - some users cannot get the Prod page running, others can.
So, from here, looked at all the AD Groups that the people that CAN get in, and compared to mine. Added me to all the groups that I did not have, and tried again - SAME RESULT, cannot load the page without the aforementioned error.
So, my colleague can get to it from HIS machine, comes to mine, logs in, and can get to it fine. I go to HIS machine and cannot get to it, nor can I from mine.
Next step - I RDC into the test server, and I CAN access the web site on the production box. I RDC into the DEV server, and I CAN access the web site on the production box.
So, I can count out the SQL aspect, I can assume the code is all good, as works for others. Permissions have been applied regarding AD groups to be the same as others that can access it...
WHAT AM I NOT DOING? Surely there is something easy I am not doing... Any suggestions? Apologies for the long winded post, but explains the extent we have tried fixing this!!!
I have included a link to an article that identifies one possible cause of the error you are getting in a load-balancing/server-farm scenario: AjaxControlToolkit & ScriptResource.axd load balancer (web farm) related issue.
Whether your issue has anything to do with that or not, the direct cause is that the ScriptManager is being tricked into registering the same script twice. I don't think this has anything to do with permissions directly. But there will be some underlying issue: hopefully not a bug with the Infragistics controls themselves.
First obvious suggestion I would make is to ensure all servers are running the same (and possibly latest) version of the AjaxControlToolkit.
精彩评论