MVC 3 应用程序中的自定义 Http 处理程序

2024-04-11

我正在使用 Http 处理程序来本地化应用程序中使用的 javascript 文件: 看:在 ASP.NET 中本地化 JavaScript 文件中的文本 http://madskristensen.net/post/Localize-text-in-JavaScript-files-in-ASPNET.aspx

我想使用提供的处理程序,因此我执行了以下操作:

1)在 Global.asax 中使用此代码忽略路由 - 我添加了routes.IgnoreRoute("{resource}.js.axd/{*pathInfo}");代码行RegisterRoutes方法,所以它看起来像这样:


public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.IgnoreRoute("{resource}.js.axd/{*pathInfo}");

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
         new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }

2)我已经添加了<add path="*.js.axd" verb="*" type="CamelotShiftManagement.HttpHandlers.ScriptTranslator" />将其添加到 Views 文件夹中的 web.config 文件中,如下所示:


<system.web>
   <httpHandlers>
      <add path="*.js.axd" verb="*"  type="CamelotShiftManagement.HttpHandlers.ScriptTranslator" />
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
   </httpHandlers>

然而我得到了找不到网页当我尝试访问以下 URL 时出错:

http://camelotshiftmanagement.com/Scripts/Administration/OrganizationalStructure.js.axd

我在这里做错了什么?


Progress: Okay, so I found out an awkward mistake i made... For some reason I thought that when adding a Handler for *.js.axd will find the file but actually it did not because the file was named OrganizationalStructure.js witout the .axd extension. So that is the reason for the 404 error but now i get a different error from the server and I need your help again.

访问http://camelotshiftmanagement.com/Scripts/Administration/OrganizationalStructure.js.axd这次产生了不同的错误:404.17 请求的内容似乎是脚本,静态文件处理程序不会提供服务。

附加错误信息

Server Error in Application "CAMELOTSHIFTMANAGEMENT.COM"
Internet Information Services 7.5
Error Summary
HTTP Error 404.17 - Not Found
The requested content appears to be script and will not be served by the static file handler.

Detailed Error Information
Module:  "StaticFileModule"
Notification:  "ExecuteRequestHandler"
Handler:  "StaticFile"
Error Code:  "0x80070032"
Requested URL:  "http://camelotshiftmanagement.com:80/Scripts/Administration/OrganizationalStructure.js.axd"
Physical Path:  "C:\Code\CamelotShiftManagement\CamelotShiftManagement\Scripts\Administration\OrganizationalStructure.js.axd"
Logon Method:  "Anonymous"
Logon User:  "Anonymous"

Most likely causes:
The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different handler.

Things you can try:
If you want to serve this content as a static file, add an explicit MIME map.

好吧,我已经超出了我的水平...... 我不明白为什么我的自定义处理程序没有被调用,而是一个静态文件调用处理程序。


好吧...所以我确实修复了它(我认为)。

有两个问题: 1. 文件名有一个.js扩展而不是.js.axd根据处理程序的需要。 2. 我需要将处理程序注册到 IIS,因为它是默认情况下无法识别的自定义扩展。 为此,我在下面添加了以下代码<system.webServer>主节点Web.Config我的 MVC 应用程序的文件:

<handlers>
        <add name="CustomScriptHandler" path="*.js.axd" verb="*" type="CamelotShiftManagement.HttpHandlers.ScriptTranslator" />
</handlers>

还有一个可以使用 IIS 管理器完成的 GUI 过程 (7): 打开网站节点 --> 处理程序映射 --> 添加脚本映射

服务器不会触发正确的处理程序并且代码会运行。

我唯一不确定的是我仍然需要一个带有.js.axd扩展和一个.js扩展名,因为处理程序会查找要处理的 Javascript 文件,而服务器会查找.js.axd文件来启动自定义处理程序。

如果有人有其他见解,请务必这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 3 应用程序中的自定义 Http 处理程序 的相关文章

随机推荐

  • 调试控制台窗口在调试期间无法接受 Console.ReadLine() 输入

    VSCode 版本 1 8 0 操作系统版本 Win10 x64 重现步骤 使用 dotnet new 创建一个新的 net core cli 应用程序 使用VS代码打开文件夹 在Program cs中添加两行代码 字符串 a Consol
  • Spyder + Python 3.5 - 如何调试内核死机,重新启动?

    我第一次致力于实现一个非常简单的 GUIPyQt5 其中嵌入了一个matplotlib情节和几个交互按钮 我真的不知道如何使用类 所以我犯了很多错误 即即使功能很简单 我也必须在小的更正和验证之间进行大量迭代 出于某种原因 我想调试 但是
  • 问题:gcc 从我的 C++ 生成的程序集

    编译这段代码 int main return 0 using gcc S filename cpp 生成此程序集 file heloworld cpp text globl main type main function main LFB0
  • 带 StickyHeader 的 Sliver 内的 TabBarView

    到目前为止 我已经使用 CustomScrollView 和 Sticky Header 制作了这个布局 https i stack imgur com piwya jpg https i stack imgur com piwya jpg
  • 在 OpenCart 3 中禁用模板缓存以进行开发

    我正在 OpenCart 3 中的主题模板中进行更改 由于模板缓存 我每次都必须在 storage cache 目录下清除缓存 在开发过程中频繁工作和预览更改是非常烦人的 请提供一些解决方案 我们如何根据生产和开发环境配置缓存 注 我已经在
  • 检测开始和停止编辑 UITextView

    如何在进入 UITextView 用户点击以编辑它 和离开视图 用户点击以离开它 时调用一些代码 感谢任何帮助 http developer apple com library ios documentation uikit referen
  • 一台机器上有多个 gitolite 用户

    我已经在远程计算机上设置了 gitolite 并从本地配置了它 我不想让我的活动显示为 admin 并创建用户和密钥 noah 为 noah 创建存储库后 我被拒绝访问 我相信 因为我仍然是 管理员 所以我在一台机器上有两个帐户 我该如何切
  • 如何对每个 WCF 调用进行身份验证和授权?

    我有 WPF 客户端使用 IIS 中托管的 WCF 服务 对于身份验证 我正在考虑证书或用户名身份验证 客户端调用 WCF 中的几个方法并传递一些消息 对于 WCF 接到的每个电话 我 想要验证用户身份 要将消息放入数据库 我必须知道调用者
  • 如何自定义NSToolbar的上下文菜单?

    我需要从右键单击上下文菜单中删除一些项目 但工具栏不包含用于访问 toolbarView 的公共 API 是否可以在不使用私有 API 的情况下自定义菜单 您可以在创建工具栏时访问和修改工具栏上下文菜单 即在 awakeFromNib NS
  • 支持 DB2 和 IBM Cloud php 应用程序的 github php buildpack

    我们在 IBM Cloud 上有一个连接到 DB2 实例 也在 IBM Cloud 上 的 PHP 应用程序 该应用程序已经完美运行了 2 年 截至 9 月 16 日 我们使用构建包 https github com ibmdb php b
  • RevealViewController() 总是返回 nil

    我遇到了一些麻烦revealViewController在 Xcode 7 2 和 iOS 9 2 中 我的应用程序从嵌入导航控制器中的视图控制器开始 以执行登录 登录后 或者如果存在登录令牌 我会使用以下代码跳转到嵌入导航控制器中的另一个
  • 有哪些不同类型的封装?

    有哪些不同类型的封装 我是否认为这基本上指的是核心面向对象概念 例如抽象 多态性和继承 我对封装的理解是 它是一种隐藏数据 功能的方法 但我从未真正考虑过多态性或继承是封装的一种形式 尽管我可以看到多态性如何被视为封装 因为它可以隐藏您的对
  • 如何在 protobuf-csharp-port 和 protobuf-net 之间进行选择

    我最近不得不寻找最初由 Google 开发的 Protocol Buffers 库的 C 移植 你猜怎么着 我在这里发现了两个由两个非常知名的人拥有的项目 protobuf csharp 端口 http code google com p
  • 比较两个数据库的结构?

    我想问是否可以比较两个巨大数据库的完整数据库结构 我们有两个数据库 一个是开发数据库 另一个是生产数据库 有时我会忘记在发布部分代码之前对生产数据库进行更改 这会导致生产数据库不具有相同的结构 因此如果我们发布某些内容 就会出现一些错误 有
  • 如何将我的 React-App 部署到 github 用户页面

    我一整天都在努力将我的 React 应用程序部署到 Github 用户页面 例如https mygitname github io http 而不是 Github 页面 例如https mygitname github com mysite
  • 从动态复选框列表中获取值

    See my html
  • 错误 TypeError:无法读取 Angular 7 拖放中未定义的属性“长度”

    我只是想在 Angular 7 的帮助下创建拖放组件DragDropModule from angular cdk drag drop 但我总是收到如下错误 HomeComponent html 14 ERROR TypeError Can
  • 如何创建带有括号和参数的自定义 jquery 函数

    我知道我的问题需要更多澄清 所以让我解释一下 当我访问 fn extend 的 jquery api 文档时 我个人对创建如下所示的自定义 jquery 函数是多么容易感到震惊 input type checkbox check 链接在这里
  • 如何使用react.js上传Excel工作表文件并将数据显示到表格

    我是 React JS 的新手 我正在尝试使用react js上传Excel工作表文件并将数据显示到表格中 我有 链接中的部分参考 但并不完整 请帮忙解决一下 从 Excel 导入数据并在 React 组件中显示 https stackov
  • MVC 3 应用程序中的自定义 Http 处理程序

    我正在使用 Http 处理程序来本地化应用程序中使用的 javascript 文件 看 在 ASP NET 中本地化 JavaScript 文件中的文本 http madskristensen net post Localize text