2011-05-04 46 views
90

¿Qué tipo de propósito sirven los archivos .axd?¿Qué es un archivo .axd?

Sé que se utiliza en el ASP.Net AJAX Toolkit y sus controles. Me gustaría saber más al respecto.

Intenté buscar en Google, pero no pude encontrar la información básica.

+0

¿Alguien tiene documentación sobre cómo hacerlos o usarlos? –

Respuesta

72

de Google

Un archivo es un archivo .axd controlador HTTP. Hay dos tipos de archivos .axd.

  1. ScriptResource.axd
  2. WebResource.axd

Estos son los archivos que se generan en tiempo de ejecución cada vez que utilice ScriptManager en su aplicación Web. Esto se genera solo una vez cuando lo implementa en el servidor.

Simplemente ponga el ScriptResource.AXD contiene todas las rutinas javascript del cliente para Ajax. El hecho de que incluya un administrador de scripts que cargue un archivo de script nunca aparecerá como ScriptResource.AXD; en su lugar, se pasará simplemente como el archivo .js que envía si hace referencia a un archivo de script externo. Si lo inserta en el código, puede aparecer simplemente como parte del html como una etiqueta y un código, pero dependiendo de si codifica de acuerdo a cómo lo maneje Toolkit, puede o no aparecer como ScriptResource.axd. ScriptResource.axd solamente se introduce con AJAX y nunca lo verá en otros lugares

Y por supuesto es necesario

+2

Son archivos del lado del servidor que representan recursos para el cliente 'WebResource.axd? D = SbXSD3uTnhYsK4gMD8fL84_mH ....' .css y .js son estáticos – Magnus

+0

Quizás a veces recibo errores como *** Esta es una solicitud de recurso de script no válida . *** _'at System.Web.Handlers.ScriptResourceHandler.ProcessRequest'_ Más información: ** ServerVariables_PATH_INFO /v2/ScriptResource.axd** – Kiquenet

55

Esos no son los archivos (que no existen en el disco) - no son más que nombres bajo los cuales algunos HTTP los manejadores están registrados. Tome un vistazo a la web.config en el directorio de .NET Framework (por ejemplo C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config):

<configuration> 
    <system.web> 
    <httpHandlers> 
     <add path="eurl.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" /> 
     <add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" /> 
     <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" /> 
     <add verb="*" path="*_AppService.axd" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False" /> 
     <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="False"/> 
     <add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" validate="True" /> 
    </httpHandlers> 
    </system.web> 
<configuration> 

Puede registrar sus propios manipuladores con un nombre whatever.axd en web.config de su aplicación. Si bien puede vincular sus manejadores a los nombres que desee, .axd tiene la ventaja de trabajar en IIS6 de forma predeterminada (IIS6 transfiere las solicitudes para *.axd al tiempo de ejecución de ASP.NET de forma predeterminada). Utilizar una ruta arbitraria para el controlador, como Document.pdf (o realmente cualquier cosa excepto las extensiones específicas de ASP.NET), requiere más trabajo de configuración. En IIS7 en modo de canalización integrado esto ya no es un problema, ya que todas las solicitudes son procesadas por la pila de ASP.NET.