The official release of Ext.NET Mobile is now available. Ext.NET Mobile is an ASP.NET component framework for building Phone and Tablet specific mobile web applications. Read More

Suspected Bug in ComponentLoader not working with IE and IIS

  1. #1

    Suspected Bug in ComponentLoader not working with IE and IIS

    I am experiencing some strange behaviour in Ext.Net V4.2 with Microsoft Visual Studio 2017 and I have attached a document detailing the bug at http://upload.ext.net. It seems that when I use Ext.Net.ComponentLoader with Internet Explorer 11 and IIS, it renders script to my page instead of the actual controls…when I use any other browser it works fine. If I use Internet Explorer 11 with IIS Express, surprisingly that works fine too.

    All the responses look the same, but it seems that when it is called with Internet Explorer (using IIS), the request is different. The failing request is using a GET instead of a POST and it does not seem to be using the XmlHttpRequest object…

    Working Request (Chrome , Firefox, Opera , IIS Express and Internet Explorer 11 )
    POST http://localhost/Nexterna.Business.W...owserComponent HTTP/1.1
    Accept: */*
    Origin: http://localhost
    Referer: http://localhost/Nexterna.Business.W...&target=_blank
    Accept-Language: en-US
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.16199
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    X-Requested-With: XMLHttpRequest
    Accept-Encoding: gzip, deflate
    Host: localhost
    Content-Length: 241
    Proxy-Connection: Keep-Alive
    Pragma: no-cache
    Cookie: Nexterna.Business.Data.Store.Token=cv400; Sunrise=Key1=Test1&Key2=Test2; Nexterna.Business.Data.Store.ConfigurationId=cv400 ; Nexterna.Business.Data.Store.UseSoap=False; IsRefresh=http://localhost/nexterna.business.web.ui.mvc.clearview/home/test?token=h4siaaaaaaaaaetmkgmwytaawmogjwztbnmgnwy loigzgyodlpbtbkqngswtbksg2xniasmaanwbwezaljgdgza0a ouaadvamtqypdlkmmqypabxpomceaia8vvucgyaaaa=&usesoa p=false&target=_blank token=H4sIAAAAAAAAAEtmKGMwYTAAwmoGJwZTBnMGNwYLoIgz gyODLpBtBKQNgSwTBksg2xnIAsmaANWBWEZAljGDGZA0AouaAd VaMtQypDLkMmQypABxPoMCEAIA8VvUCGYAAAA
    Failing Request ( IIS and Internet Explorer 11 )
    GET /ClearviewTest/Sunrise/Test/GetDispatchBrowserComponent?_dc=1497021129662&toke n=H4sIAAAAAAAAAEtmKGMwYTAAwmoGZwYXBlMgz5LBAsh3YtBl MGYwB0JjIMuEwZXBECivy%2BAIVGcClnUEyhkyGAH1GIL1OTO4 AVUYMtQypDLkMmQypABxPoMCEAIA8JCms2YAAAA%3D&browser PropertyName=NorthRegionUnassignedTasksBrowser&con tainerId=DispatchPanelForUnassignedTasksTab HTTP/1.1
    Accept: text/html, application/xhtml+xml, image/jxr, */*
    Referer:
    http://clearviewprod.nexterna.com/ClearviewTest/Sunrise/Home/Test?token=H4sIAAAAAAAAAEtmKGMwYTAAwmoGZwYXBlMgz5L BAsh3YtBlMGYwB0JjIMuEwZXBECivy%2BAIVGcClnUEyhkyGAH 1GIL1OTO4AVUYMtQypDLkMmQypABxPoMCEAIA8JCms2YAAAA%3 D&useSoap=False
    Accept-Language: en-CA,en-US;q=0.7,en;q=0.3
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
    Accept-Encoding: gzip, deflate
    Host: clearviewprod.nexterna.com
    Connection: Keep-Alive
    Cookie: Clearview=Token=H4sIAAAAAAAAAEtmKGMwYTAAwmoGYwZTBk MGVyA0ZHACQl0GI6C4KVBcF6jGhMGNwRzIcgLLWwBZLgzOQFkD oIgxgxmQZw7kuwHV1TKkMuQyZDKkAHE+gwIQAgBFFMyDZgAAAA ==&Configuration=cv400&UseSoap=False; Nexterna.Business.Web.Ui.Mvc.Clearview.ShowNewsTes t=True; Nexterna.Business.Web.Ui.Mvc.Clearview.BaseContain erForOutlookWestRegion.Width=230; Nexterna.Business.Web.Ui.Mvc.Clearview.BaseContain erForOutlookEastRegion.Width=230; Sunrise=Key1=Test1&Key2=Test2; Nexterna.Business.Data.Store.Token=H4sIAAAAAAAAAEt mKGMwYTAAwmoGYwZTBkMGVyA0ZHACQl0GI6C4KVBcF6jGhMGNw RzIcgLLWwBZLgzOQFkDoIgxgxmQZw7kuwHV1TKkMuQyZDKkAHE +gwIQAgBFFMyDZgAAAA==; Nexterna.Business.Data.Store.ConfigurationId=cv400 ; Nexterna.Business.Data.Store.UseSoap=False; Nexterna.Business.Web.Ui.Mvc.Clearview.Token=H4sIA AAAAAAAAEtmKGMwYTAAwmoGYwZTBkMGVyA0ZHACQl0GI6C4KVB cF6jGhMGNwRzIcgLLWwBZLgzOQFkDoIgxgxmQZw7kuwHV1TKkM uQyZDKkAHE+gwIQAgBFFMyDZgAAAA==; ASP.NET_SessionId=f55435wscfjoapu3emic4atx; IsRefresh=http://clearviewprod.nexterna.com/clearviewtest/sunrise/home/test?token=h4siaaaaaaaaaetmkgmwytaawmogzwyxblmgz5l bash3ytblmgywb0jjimuewzxbecivy+aivgcclnueyhkygah1g il1oto4avuymtqypdlkmmqypabxpomceaia8jcms2yaaaa=&us esoap=false; Nexterna.Business.Web.Ui.Mvc.Clearview.ShowNewsAnd UpcomingEvents=True
    Last edited by edip; Jun 09, 2017 at 7:53 PM.
  2. #2
    Hello @edip!

    This really looks to me like a policy setting on IE which makes it request content and disallow binding it to a callback javascript or something like it.

    Have you tried adding the IIS website's host (or IP address) to the list of trusted websites and allowed cookies' websites? This can be done in Internet Options the Security and Content tabs. Well, if that's not a global system policy governing these settings (like a machine set up by windows domain or active directory).

    Something else that could be the case, is a server setting that requires a ResourceManager specific setting to work. This is further discussed here: X-Content-Type-Options: nosniff has broken EXT v3.

    Hope this helps!
    Fabrício Murta
    Developer & Support Expert
  3. #3
    Hi Fabricio,
    I modified the controller method and added the "POST" attribute as follows...
    [ System.Web.Mvc.HttpPost ]
    public System.Web.Mvc.ActionResult GetDispatchBrowserComponent
    				( string token
    					, string browserPropertyName
    						, string containerId )
    This is my code for the ComponentLoader...
    Ext.Net.ComponentLoader oComponentLoader
    				= new Ext.Net.ComponentLoader
    						{
    							Url
    								= nsMyActions.HomeGetDispatchBrowserComponent.ToUrl ( ) ,
    
    							Mode = Ext.Net.LoadMode.Component ,
    
    							TriggerEvent = "show"
    						};
    
    					oComponentLoader.LoadMask.ShowMask = true;
    
    					oComponentLoader.Params.Add
    						( this.CreateActionParameter
    							( nsMyActionParameters.HomeGetDispatchBrowser01Token
    								, this.Model.Token ) );
    
    					oComponentLoader.Params.Add
    						( this.CreateActionParameter
    							( nsMyActionParameters.HomeGetDispatchBrowser02BrowserPropertyName
    								, nameof ( this.NorthRegionScheduledTasksBrowser ) ) );
    
    					oComponentLoader.Failure
    						= string.Format
    							( "Core.Browser.OnGetDispatchBrowserFailure(this , response , 'DispatchBrowser-{0}')"
    								, "Scheduled Tasks" );
    Now i get the following error...
    A public action method 'GetDispatchBrowserComponent' was not found on controller 'Nexterna.Business.Web.Ui.Mvc.Clearview.Controller s.HomeController'.
    . Why does it not like the post?

    Thanks.
    Last edited by edip; Jun 12, 2017 at 7:37 PM.
  4. #4
    I also wanted to mention that it does not seem to be an issue in the browser since it works with IE and IIS Express...it just does not work with IE and IIS.
  5. #5
    Hello Fabricio,
    This is a very urgent matter as many of our clients use IE...so I opened a support call with Microsoft and i received their final response today. As suspected, they are pinning the responsibility for this behaviour on the developer. The following is the email i received from Microsoft...
    Thank you for your patience while I was discussing the case with our escalation team.
    As per the discussion with our escalation team, there is no specific setting which is use to set either get/post request.
    This is something that has to be done via application using the form method. You could engage the application developer to look at the application logic to figure out why it's sending a get request instead of post request.
    Having said that unfortunately there is no way where we can set or restrict in IE to control the http method type.

    Regards,
    Mohammed
    Is there any possibility that you can correct this behaviour? It is critical to our clients.
  6. #6
    Hello @emidio!

    I'm afraid this issue is beyond Ext.NET scope, it would be up to the specific ASP.NET website developer and/or IIS server administrator to pinpoint and fix the issue. Ext.NET merely fetches the cache at the point you pointed, it has no control over where or how it comes from, that's inherent from the ASP.NET website. I personally believe this is an issue with the way session state is handled but can't be sure either.

    Sorry if that's not of much help.
    Fabrício Murta
    Developer & Support Expert
  7. #7
    Hello @emidio,

    Can you provide a sample project which demonstrates how to reproduce this issue?

    A sample project published to GitHub would be best. Please do not include the /bin or /obj folders, and do not include any License Key info in the project. Do not include any proprietary code in the sample project. The source code for this sample project will be public.

    In order to debug this issue any further, we need to be able to reproduce.
    Geoffrey McGill
    Founder & CEO
  8. #8
    I will try to recreate the problem but it will not be easy and i do not know if it will be possible. The application is quite large and contains 20+ dll libraries. I do not use GitHub, so i can share it and give you access.

Similar Threads

  1. Replies: 1
    Last Post: Apr 04, 2015, 5:24 PM
  2. Replies: 2
    Last Post: Apr 30, 2014, 12:15 PM
  3. ComponentLoader and Explicit Id
    By ETICS in forum 2.x Help
    Replies: 0
    Last Post: Jun 26, 2013, 4:21 PM
  4. [CLOSED] ComponentLoader inconsistency
    By RCN in forum 2.x Premium Help
    Replies: 10
    Last Post: Jun 07, 2012, 12:24 PM
  5. [CLOSED] ComponentLoader - DirectEvents
    By PatrikG in forum 2.x Premium Help
    Replies: 1
    Last Post: Mar 15, 2012, 1:20 PM

Posting Permissions

Subscribe now to get the latest Ext.NET happenings in our newsletter.