什么是 .axd 文件?

111

.axd文件有什么作用?

我知道它在ASP.Net AJAX工具包和其控件中使用。 我想了解更多信息。

我尝试过Google搜索,但未能获得基本信息。


有没有关于如何制作或使用它们的文档? - Owen Johnson
3个回答

93

来自Google

.axd文件是一个HTTP处理程序文件,有两种类型的.axd文件。

  1. ScriptResource.axd
  2. WebResource.axd

这些是在Web应用程序中使用ScriptManager时在运行时生成的文件。仅当您将其部署到服务器上时,才会生成这些文件一次。

简单来说,ScriptResource.AXD包含所有用于Ajax的客户端javascript例程。如果你包含了一个加载脚本文件的scriptmanager,它永远不会出现为ScriptResource.AXD - 而是仅作为您引用外部脚本文件的.js文件传递。如果您将其嵌入代码中,则可能仅作为html的一部分出现,而不是ScriptResource.axd,具体取决于您根据工具包如何处理它来编写代码。 ScriptResource.axd仅在AJAX中介绍,您永远不会在其他地方看到它。

当然,这是必要的。


2
它们是服务器端文件,用于向客户端呈现资源 WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mH....。.css 和 .js 文件是静态的。 - Magnus
有时候我会遇到像这样的错误:This is an invalid script resource request. at System.Web.Handlers.ScriptResourceHandler.ProcessRequest 更多信息:ServerVariables_PATH_INFO /v2/ScriptResource.axd - Kiquenet

74

这些不是文件(它们不存在于磁盘上)-它们只是某些HTTP处理程序注册的名称。 看一下.NET Framework目录中的web.config(例如: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>

你可以在应用程序的web.config中注册自己命名为whatever.axd的处理程序。尽管你可以将处理程序绑定到任何你喜欢的名称,但是 .axd 默认情况下可以在 IIS6 上开箱即用(IIS6 默认会将对 *.axd 的请求传递给 ASP.NET 运行时)。使用处理程序的任意路径,比如 Document.pdf (或者除了 ASP.NET 特有扩展名之外的任何东西),需要更多的配置工作。在 IIS7 的集成模式下这不再是问题,因为所有请求都由 ASP.NET stack 处理。


1
一个AXD文件是ASP.NET应用程序用于处理嵌入式资源请求的文件。它包含检索嵌入式资源的指令,例如图像、JavaScript (.JS)文件和.CSS文件。AXD文件用于将资源注入客户端网页并以标准方式在服务器上访问它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接