Mostrando entradas con la etiqueta WEB.CONFIG. Mostrar todas las entradas
Mostrando entradas con la etiqueta WEB.CONFIG. Mostrar todas las entradas

sábado, 9 de julio de 2022

ASP.NET Web Forms: No 'Access-Control-Allow-Origin' header is present on the requested resource

 Es necesario configurar el web config:


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS" />
        <add name="Access-Control-Allow-Headers" value="Content-Type, soapaction" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

domingo, 19 de junio de 2022

Cómo ver detalles completos de errores de ASP.NET, deshabilitar errores personalizados

 Cómo ver detalles completos de errores de ASP.NET, deshabilitar errores personalizados

Si su aplicación arroja errores, pero no puede ver el mensaje de error completo, puede deshabilitar customErrors.









Para hacer esto, querrá configurar el modo customErrors en "Off" como se muestra a continuación. Tenga cuidado, ya que esto podría exponer la información confidencial que se muestra en los mensajes de error, así como los seguimientos detallados de la pila. Esto no se recomienda a menos que no tenga otra opción y debe volver a cambiarlo lo antes posible.

<configuration>
  <system.web>
    <customErrors mode="Off"/>
  </system.web>
</configuration>

domingo, 15 de mayo de 2022

UnobtrusiveValidationMode de WebForms requiere un ScriptResourceMapping para 'jquery'

 UnobtrusiveValidationMode de WebForms requiere un ScriptResourceMapping para 'jquery'. Agregue un ScriptResourceMapping con nombre jquery(distinguir mayúsculas de minúsculas).

Solución

  <appSettings>

    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="false" />

    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

  </appSettings


jueves, 10 de septiembre de 2020

Poblemas con cookies Chrome 80 SameSite AZURE

 Con el lanzamiento estable de Chrome 80 este mes, Chrome comenzará a aplicar un nuevo sistema de clasificación de cookies seguro por defecto, tratando las cookies que no tienen un valor de SameSite declarado como las  cookies de SameSite = Lax . Solo cookies configuradas como SameSite = None; Secure estará disponible en contextos de terceros, siempre que se acceda a ellos desde conexiones seguras.

En el web Config

<system.webServer>
 <rewrite>
       <outboundRules>
            <clear />
            <rule name="Add SameSite" preCondition="No SameSite">
                <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
                <action type="Rewrite" value="{R:0}; secure; SameSite=none" />
                <conditions>
                </conditions>
            </rule>
            <preConditions>
                <preCondition name="No SameSite">
                    <add input="{RESPONSE_Set_Cookie}" pattern="." />
                    <add input="{RESPONSE_Set_Cookie}" pattern="; secure; SameSite=none" negate="true" />
                </preCondition>
            </preConditions>
        </outboundRules>
  </rewrite>
 </system.webServer>


lunes, 18 de noviembre de 2019

Variables globales ASP.NET

Web Config

se puede guardar los datos en el Web.config en la zona de “appSettings”, esto lo haría de la siguiente forma:
Primero añadiendo una clave a la zona de appSettings en el Web.config
<appSettings>  
        <add key=”NombreVariable” value=”valor” />
</appSettings>
Y luego en el código de la página en la que lo necesitemos podemos obtener o modificar el valor de la clave mediante:
System.Configuration.ConfigurationSettings.AppSettings[“NombreVariable”] 
Otra manera:
Global.asax
En el archivo Global.asax. Este archivo permite manejar eventos que ocurren a nivel de la aplicación y de sesión, también nos permite declarar valores que necesitemos entre las diferentes solicitudes.
En el fichero Global.asax declaramos una variable string y luego en Session_Start otorgamos el valor de la cadena a un objeto de tipo Session que en mi caso se llama valorCadena.
public class Global : System.Web.HttpApplication
    {
        string cadena=”valor inicial”;
        protected void Application_Start(object sender, EventArgs e) { }
        protected void Session_Start(object sender, EventArgs e)
        {
            Session[“valorCadena”] = cadena;
        } 
}
 En la página que lo necesitemos podemos escribir valores:
       Session[“valorCadena”] = “la_cadena_que_quiera_poner”;
y leer de la variable:
       Label1.Text = (string)Session[“valorCadena”];

miércoles, 13 de febrero de 2019

Se excedió la longitud de solicitud máxima C# iis



Excepción: 

Exception information:
    Exception type: HttpException
    Exception message: Se excedió la longitud de solicitud máxima.
   en System.Web.HttpRequest.GetEntireRawContent()
   en System.Web.HttpRequest.GetMultipartContent()
   en System.Web.HttpRequest.FillInFormCollection()
   en System.Web.HttpRequest.EnsureForm()
   en System.Web.HttpRequest.get_Form()
   en System.Web.HttpRequest.get_HasForm()
   en System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
   en System.Web.UI.Page.DeterminePostBackMode()
   en System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


Solucion: 


En nuestro web.config del sitio web:

    <httpRuntime maxRequestLength="40960" requestValidationMode="4.0" executionTimeout="360" targetFramework="4.6.1" />



<configuration>
    <system.web>
      <httpRuntime maxRequestLength="Tamaño" />
    </system.web>
  </configuration>