[CLOSED] 'Status 200' and 'No Response' Screen on Login.aspx to Site.Master.aspx

  1. #1

    [CLOSED] 'Status 200' and 'No Response' Screen on Login.aspx to Site.Master.aspx

    Hello
    We used version 2.1 Community until yesterday and when uninstalling the old version, then we put the license of 4.8.1 (by nuget) a screen with Status Code 200 No Response appears on the IIS server every time we try to go to the Login.aspx page to Site.master.aspx.

    Click image for larger version. 

Name:	status_200_no_response.PNG 
Views:	101 
Size:	5.7 KB 
ID:	25264

    Login.aspx
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="XXX.YYY.Apresentacao.Login" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <!DOCTYPE html>
    
    <html>
    <head id="Head1" runat="server">
    	
    	<title> :: XXX ::</title>
    	
    	<link rel="stylesheet" type="text/css" href="~/Styles/estilo.css"/>
    
    	<link rel="shortcut icon" href="~/Imagem/favicon.ico" type="image/x-icon"/>
    
    	<ext:ResourceManager ID="ResourceManager1" runat="server"></ext:ResourceManager>
    	
    	<meta http-equiv="X-UA-Compatible" content="IE=11" /> 
    
    	<script type="text/javascript">
    		Ext.net.DirectEvent.timeout = 3600000000;
    		Ext.Ajax.timeout = 36000000000;
    		Ext.override(Ext.form.Basic, { timeout: Ext.Ajax.timeout / 1000 });
    		Ext.override(Ext.data.proxy.Server, { timeout: Ext.Ajax.timeout });
    		Ext.override(Ext.data.Connection, { timeout: Ext.Ajax.timeout });
    	</script>
    
    	<!--<style type="text/css">
    	v\:* {
    		behavior:url(#default#VML);
    	}
    	</style>-->
    
    </head>
    <body style="background-color:#f7f8f8;">
    	<div id="ext-comp-1003" class=" x-panel x-panel-noborder x-border-panel" style="left: 0px; top: 0px; ">
    		<div class="x-panel-bwrap" id="ext-gen15">
    			<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen16" style="height: 70px;">
    				<div id="header" style="height:70px;">            
    					<div class="api-title"> 
    						<em>XXX</em>                
    					</div>            
    					<div class="api-title">                 
    						<em>XXX</em>
    					</div>            
    				</div>
    			</div>
    			
    		</div>
    	</div>
    
    	<form id="FormLoginId" runat="server">     
    		<ext:Window ID="WindowLoginId" runat="server" Closable="false" Resizable="false" Height="150" Icon="Lock" Title="Login" Draggable="false" Width="350" Modal="false" BodyPadding="5" Layout="Form" StyleSpec="background-color:acacbd;">                
    			<Items>
    				<ext:TextField AutoFocus="true" AutoFocusDelay="50" ID="loginId" runat="server" FieldLabel="Login" AllowBlank="true" BlankText="CPF ou CPNJ obrigatório." EnableKeyEvents="true" EnforceMaxLength="true" MaxLength="60" EmptyText="neste campo digite seu login">                                               
    					
    					<Listeners>                    
    						<KeyPress Handler="if ((e.getKey() == e.ENTER)) { #{senhaId}.focus(false, 100); }" />
    					</Listeners>
    
    				 </ext:TextField>
    
    				 <ext:TextField ID="senhaId" runat="server"  InputType="Password" FieldLabel="Senha" AllowBlank="true" EmptyText="de até 20 caracteres" EnableKeyEvents="True" EnforceMaxLength="true" MaxLength="20">         
    				
    					 <Listeners>							
    							<KeyPress Handler="if ((e.getKey() == e.ENTER)){ #{LoginButtonId}.fireEvent('click'); }"/>
    					</Listeners>                
    
    				 </ext:TextField>                
    			</Items>
    			<Buttons>
    
    				<ext:Button ID="LoginButtonId" runat="server" Text="Entrar" Icon="Accept">
    					<DirectEvents>
    						
    						<Click OnEvent="Logar_Click">							
    							<EventMask ShowMask="true" Msg="Aguarde..." MinDelay="1000" />
    						</Click>
    
    					</DirectEvents>
    				</ext:Button>
    			</Buttons>                           
    		</ext:Window>  
    		
    
    	</form> 
    </body>
    </html>
    Login.aspx.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Newtonsoft.Json;
    using System.IO;
    using System.Security.Cryptography;
    using Ext.Net;
    using System.Web.Security;
    
    namespace XXX.YYY.Apresentacao
    {
        public partial class Login : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
            }
    
            protected void Logar_Click(object sender, DirectEventArgs e)
            {            
                Response.Redirect("/");
            }
    
    
        }
    }
    Thanks.
  2. #2
    Hello @cdeveloper, and welcome to Ext.NET forums!

    The page code you shared looks fine. I believe you may have issues with the updated Web.config in the project/website root.

    It may help if you created a new/empty project, installed Ext.NET package from NuGet, and then run the test page you have. Maybe something didn't update (since it would be overwriting files) when it should.

    By the way, can you run the project locally, and only when you push to your IIS server, it breaks? The DLLs may need to be registered and be in the right location in the website folder.

    Hope this helps!
    Fabrício Murta
    Developer & Support Expert
  3. #3
    Hello Fabricio.

    We have a solution inside Visual Studio with several distinct projects that still use the Community 2.1 library.
    We recreated an empty WebForms project with only the 4.81 lib and the files I mentioned earlier, but the problem persists.

    This my Web.config
    <?xml version="1.0" encoding="utf-8"?>
    <!--
      Para obter mais informações sobre como configurar seu aplicativo ASP.NET, visite
      https://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <configSections>
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
      <section name="extnet" type="Ext.Net.GlobalConfig" requirePermission="false" />
      </configSections>
      
      <connectionStrings>
        
    	
      </connectionStrings>
    
      <system.web>
    
        <!-- Para aumentar a limitação do tempo de espera de requisição  -->
        <httpRuntime executionTimeout="800" maxRequestLength="51200" targetFramework="4.6.1" />
        <!-- Conf -->
        <authentication mode="Forms">
          <forms loginUrl="Login.aspx" defaultUrl="Login.aspx" slidingExpiration="true" timeout="30200" name=".Auth" protection="All" />
        </authentication>
        <identity impersonate="false" />
        <!-- Conf -->
        <authorization>
          <allow users="*" />
        </authorization>
    
        <!--Ext.Net-->
        <httpHandlers>
          <add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" />
          <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
        </httpHandlers>
    
        <!--Ext.Net-->
        <httpModules>
          <add name="DirectRequestModule" type="Ext.Net.DirectRequestModule, Ext.Net" />
        </httpModules>
        
        <compilation debug="true" targetFramework="4.6.1">
          <buildProviders>
            <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
          </buildProviders>
        </compilation>        
            
        <customErrors mode="Off" />
        
      <!-- This httpHandlers config only required if using IIS6 (or lower) --><!--
        <httpHandlers>
          <add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" />
        </httpHandlers>
        --><!-- This httpModules config only required if using IIS6 (or lower) --><!--
        <httpModules>
          <add name="DirectRequestModule" type="Ext.Net.DirectRequestModule, Ext.Net" />
        </httpModules>
        --><pages>
          <controls>
            <add assembly="Ext.Net" namespace="Ext.Net" tagPrefix="ext" />
          </controls>
          <namespaces>
            <add namespace="Ext.Net" />
          </namespaces>
        </pages>
      </system.web>
      
      <system.codedom>
        <compilers>
          <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
          <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
        </compilers>
      </system.codedom>
      
      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="mssqllocaldb" />
          </parameters>
        </defaultConnectionFactory>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
      </entityFramework>
      
      <extnet theme="Crisp" licenseKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" initScriptMode="Linked" />
      
      <system.webServer>    
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <add name="DirectRequestHandler" verb="*" path="*/ext.axd" preCondition="integratedMode" type="Ext.Net.ResourceHandler" />
        </handlers>
        <modules>
          <add name="DirectRequestModule" preCondition="managedHandler" type="Ext.Net.DirectRequestModule, Ext.Net" />
        </modules>
      </system.webServer>
      
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    Last edited by cdeveloper; Jun 06, 2019 at 4:40 PM.
  4. #4
    One more detail, the problem does not happen when we execute the project locally and yes only when we host it in another server with IIS. And all updated Ext.Net libs are in the application folder on the remote server.
    Last edited by cdeveloper; Jun 06, 2019 at 4:50 PM.
  5. #5
    Hello @cdeveloper!

    Locally, Visual Studio internally uses IIS Express, which is pretty close to what IIS needs to work. This really looks like a setting or supported technology you have in your development environment that's not present in your IIS server. For instance, is your IIS server capable of running .NET Framework 4.6.1 applications?

    Try lowering your local project to .NET Framework 4.5. Usually the remote Web.config file doesn't match the local one, requiring different settings, you may need to compare the Web.config from a working (the Community 2.1 maybe?) Ext.NET application against the new one.

    As far as NuGet packages are concerned (like Newtonsoft.Json, Ext.NET.Utilities, etc), their DLL files are copied over to the server, and should be compatible with any version of .NET after 4.5 down to the current 4.8. Per the error you describe, to me it looks as if it's not setting up the Ext.NET HttpHandlers (around lines 33-36 in the Web.config you shared). You may need to uncomment other blocks (lines 51-58) depending on your IIS version.

    Perhaps you have useful error/warning information being logged in your IIS logs that might help pinpoint the reason Ext.NET is not kicking in.

    Bear in mind the technology gap between Ext.NET 2.1 and 4.8.1 is reasonably big, so the same settings from one won't 100% apply for the other, but I don't really see anything other than the framework version that could be preventing Ext.NET to load in your IIS server.

    Hope this helps!
    Fabrício Murta
    Developer & Support Expert
  6. #6
    Hello @fabricio.murta

    Locally, Visual Studio internally uses IIS Express, which is pretty close to what IIS needs to work on. This really looks like a setting or supported technology you have in your development environment that is not present in your IIS server. For instance, is your IIS server capable of running .NET Framework 4.6.1 applications?
    My IIS server runs apps in Ext.Net 2.1 Community through the framework 4.7.2. I had already reduced to version 4.6.1 after migrating to the newer version of Ext.Net (4.8.1), but continued to receive the Status 200 No Response warning.

    Try lowering your local project to .NET Framework 4.5. Usually the remote Web.config file does not match the local one, requiring different settings, you may need to compare the Web.config from a working (the Community 2.1 maybe?) Ext.NET application against the new one.
    My IIS server was with Application Pool marked as Classic .Net App Pool, so I changed to AspNet V4.0, but I merged a property in my Web.config that was only present in the old one.

    My old Web.config property with Ext.Net Community 2.1
    <pages controlRenderingCompatibilityVersion="4.0">
          <controls />
    </pages>
    My new property on Web.config after installing the new version by Nuget
    <pages>
          <controls>
            <add assembly="Ext.Net" namespace="Ext.Net" tagPrefix="ext" />
          </controls>
          <namespaces>
            <add namespace="Ext.Net" />
          </namespaces>
    </pages>
    My updated version of Web.config after merging the two settings
    <pages controlRenderingCompatibilityVersion="4.0">
          <controls>
            <add assembly="Ext.Net" namespace="Ext.Net" tagPrefix="ext" />
          </controls>
          <namespaces>
            <add namespace="Ext.Net" />
          </namespaces>
    </pages>
    Thanks. The problem is solved.
  7. #7
    Hello again, @cdeveloper!

    Well, at least one of the main reasons it didn't work was because the app pool was set to ASP Classic. But thanks for sharing the outcome, I will also raise this point next time somebody has issues running Ext.NET over production IIS environment.

    And glad the issue could be sorted out! Hopefully this thread will be useful for somebody else setting up Ext.NET on IIS in the future.
    Fabrício Murta
    Developer & Support Expert

Similar Threads

  1. Replies: 1
    Last Post: Aug 14, 2014, 8:19 PM
  2. No response with status code 200
    By cwtsang1012 in forum 2.x Help
    Replies: 3
    Last Post: Jul 30, 2014, 4:35 AM
  3. Replies: 2
    Last Post: Nov 15, 2012, 12:52 AM
  4. Replies: 7
    Last Post: Jul 31, 2012, 8:31 PM
  5. AjaxEvent from a child.aspx to a parent.aspx
    By egodoy in forum 1.x Help
    Replies: 2
    Last Post: Mar 23, 2009, 12:52 PM

Posting Permissions