Что такое .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.