2

背景:我从事非编程工作的员工知道我是一名本科 CS 学生,在 Web 开发方面有一些经验。在经历了一段糟糕的经历后,他与他雇用的前一位 Web 开发人员断绝了联系,并且他付钱给我,让我对网站进行一些更改。其中一项任务是在站点上创建一个新表单,该表单的行为类似于已经存在的表单,但需要进行一些修改。我的主要障碍是该网站是使用ASP.NET制作的,我以前从未使用过,但是在阅读了一些W3教程后,我能够理解现有的表单及其提交的结构,并且我相当有信心我有能力复制它。

问题:我需要访问和编辑一个重要的函数调用,该函数调用发生在我在服务器上找不到的 .ashx 文件中。该文件被引用为位于 .aspx 页面标题中的 ~/ajaxpro/Business,App_Code.ashx 中,我可以在浏览器中导航到该页面,但服务器上没有实际的 /ajaxpro/ 文件夹。根据我从 Google 搜索中收集到的信息,我想这可能与 Web.config 中的这段代码有关:

<location path="ajaxpro">
    <system.web>
      <httpHandlers>
        <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2" />
      </httpHandlers>
    </system.web>
</location>

但是我查看了服务器上的所有其他文件夹,根本找不到任何 .ashx 文件。服务器上有一个 Business.cs 和一个 App_Code 文件夹,但我找不到任何与 ~/ajaxpro/Business,App_Code.ashx 页面上显示的内容相关的代码。不确定这是否是我的 .NET 幼稚的一部分,或者是什么,但我想知道是否可以找到和访问这些文件。

问题:我有什么方法可以找到这个 .ashx 文件以便我可以编辑它,如果是这样,我想如何去发现它的实际位置?

4

1 回答 1

2

ASHX 文件实际上并不存在于文件系统中。

您列出的配置部分告诉 IIS 使用程序集 AjaxPro2 处理对 ajaxpro 目录下的 *.ashx 扩展名的任何请求。

基本上,Ajaxpro2 程序集包含一个决定它需要输出什么的处理程序,在上面的例子中,工厂类AjaxHandlerFactory将处理所有响应。

简短的回答是,如果不访问 AjaxPro2 汇编代码,就无法编辑 ASHX 文件的输出。

于 2012-02-07T05:06:00.350 回答