Что такое .axd файл?

Какую цель выполняют файлы .axd?

Я знаю, что он используется в ASP.Net AJAX Toolkit и его элементах управления. Я хотел бы узнать больше об этом.

Я попробовал Google для этого, но не смог найти основную информацию.

Ответ 1

из Google

Файл .axd является файлом обработчика HTTP. Существует два типа файлов .axd.

  • ScriptResource.axd
  • WebResource.axd

Это файлы, которые генерируются во время выполнения, когда вы используете ScriptManager в своем веб-приложении. Это генерируется только один раз, когда вы развертываете его на сервере.

Проще говоря, ScriptResource.AXD содержит все клиентские javascript-процедуры для Ajax. Просто потому, что вы включаете скриптамена, который загружает файл script, он никогда не будет отображаться как ScriptResource.AXD - вместо этого он будет просто передан как файл .js, который вы отправляете, если ссылаетесь на внешний файл script. Если вы вставляете его в код, он может просто отображаться как часть html в качестве тега и кода, но в зависимости от того, кодируется ли он в соответствии с тем, как ToolKit обрабатывает его, может быть или не отображаться как ScriptResource.axd. ScriptResource.axd вводится только с AJAX, и вы никогда не увидите его в другом месте

И, конечно же, нужно

Ответ 2

Это не файлы (они не существуют на диске) - это просто имена, под которыми зарегистрированы некоторые обработчики HTTP. Взгляните на web.config в каталоге .NET Framework (например, 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>

Вы можете зарегистрировать собственные обработчики с именем whatever.axd в приложении web.config. Хотя вы можете привязывать свои обработчики к любым именам, которые вам нравятся, .axd по умолчанию работает над IIS6 из-за окна (по умолчанию IIS6 передает запросы на *.axd в среду выполнения ASP.NET). Использование произвольного пути для обработчика, например Document.pdf (или действительно ничего, кроме расширений ASP.NET), требует большей работы по настройке. В IIS7 в режиме интегрированного конвейера это уже не проблема, так как все запросы обрабатываются стекем ASP.NET.