web-dev-qa-db-fra.com

Qu'est-ce qu'un fichier .axd?

Quel genre de but fait .axd fichiers servent?

Je sais qu'il est utilisé dans le ASP.Net AJAX Toolkit et ses contrôles. J'aimerais en savoir plus à ce sujet.

J'ai essayé Google pour cela, mais je n'ai pas trouvé d'informations de base.

96
sikender

de Google

Un fichier .axd est un fichier HTTP Handler. Il existe deux types de fichiers .axd.

  1. ScriptResource.axd
  2. WebResource.axd

Ce sont des fichiers qui sont générés au moment de l'exécution chaque fois que vous utilisez ScriptManager dans votre application Web. Ceci est généré une seule fois lorsque vous le déployez sur le serveur.

En deux mots, ScriptResource.AXD contient toutes les routines javascript côté client pour Ajax. Si vous incluez un gestionnaire de scripts qui charge un fichier de script, il n'apparaîtra jamais sous la forme ScriptResource.AXD. Il sera simplement transmis en tant que fichier .js que vous envoyez si vous référencez un fichier de script externe. Si vous l'intégrez dans du code, il se peut qu'il apparaisse simplement comme une partie du code HTML sous la forme d'une balise et d'un code, mais selon que vous codiez en fonction de la façon dont ToolKit le gère - peut apparaître ou non sous la forme d'un ScriptResource.axd. ScriptResource.axd est seulement introduit avec AJAX et vous ne le verrez jamais ailleurs

Et bien sûr il faut

82
kobe

Ce ne sont pas des fichiers (ils n'existent pas sur le disque) - ce sont juste des noms sous lesquels certains gestionnaires HTTP sont enregistrés. Regardez le web.config dans le répertoire du .NET Framework (par exemple, 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>

Vous pouvez enregistrer vos propres gestionnaires avec un whatever.axd nom dans votre application web.config. Bien que vous puissiez lier vos gestionnaires à n’importe quel nom, .axd a l'avantage de travailler par défaut sur IIS6 (IIS6 transmet les demandes pour *.axd au runtime ASP.NET par défaut). Utiliser un chemin arbitraire pour le gestionnaire, comme Document.pdf (ou autre chose que les extensions spécifiques à ASP.NET), nécessite davantage de travail de configuration. Dans IIS7 en mode pipeline intégré, le problème ne se pose plus car toutes les demandes sont traitées par la pile ASP.NET.

65
Jakub Januszkiewicz