日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

注册自定义HTTP Handlers

發布時間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 注册自定义HTTP Handlers 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目用到了highcharts.js來繪圖,想本地導出,于是在github找到了這個項目ASP.NET Highcharts export module,當然,我說的是很久以前了,還在做MVC3項目的時候,當時一切順利,把幾個dll導入,修改web.config文件以支持自定義的http handler(以HighchartsExport.axd訪問),并且立即導出成功。

這一次再次用到了highcharts,同樣需要導出,結果卻死導不出,總是報404錯誤,不過就是mvc4+NF4.5而已。上述項目提供了兩個web.config的示例文件,我一一測試,均失敗,官方要求的是在web.config的system.web節點中注冊如下節點:

<httpHandlers><add verb="POST"path="HighchartsExport.axd"type="Tek4.Highcharts.Exporting.HttpHandler, Tek4.Highcharts.Exporting"/> </httpHandlers>

干脆查了一下文檔,注冊自定義http handler的方式,果然與該項目作者介紹的不一樣,修改后成功,只是同樣的iis環境下,老mvc3項目成功,示例的asp.net網站也成功,這就百撕不得騎姐了。

官方文檔鏈接

其并不是給了一個萬應良藥,只是分三種情況(應該是六種情況,分別對應了獨立dll和寫到app_code里面兩大類,區別就在于app_code里面的類在注冊的時候不需要寫命名空間,此處不介紹,直接看文檔吧):IIS6.0,IIS7.0經典模式,以及IIS7.0集成模式

IIS6下,照著上述代碼配置即可。

IIS7的經典模式下,同樣需要照著上述代碼配置,但是還不夠,需要繼續在configuration的根節點下配置system.webServer節點:

<system.webServer> <add name=SampleHandler" verb="*" path="SampleHandler.new" Modules="IsapiModule" scriptProcessor="FrameworkPath\aspnet_isapi.dll"resourceType="File" /> </system.webServer>

其中FrameworkPath有%windir%\Microsoft.NET\Framework64\v4.0.30319%windir%\Microsoft.NET\Framework32\v4.0.30319兩種取值,事實上就是你的Aspnet_isapi.dll所在的文件夾。

而在集成模式下,已經不需要配置上述第一節,直接配置system.webServer即可,而且也不需要蛋疼地定位aspnet_isapi.dll文件了,因為它的resourceType已經不是file了:

<system.webServer> <handlers><add name="SampleHandler" verb="*" path="SampleHandler.new" type="SampleHandler, SampleHandlerAssembly" resourceType="Unspecified" /> </handlers> </system.webServer>

我做的是最后這一種更改,成功。

同時順便做了個小例子,自己在app_code里面寫了一個httphandler,輸出了幾個字,同樣用最后這種配置方式(type處不需要寫命名空間了,因為是在app_code里面,寫全名即可),正常輸出。可見這個問題僅僅是該項目作者的示例項目闡述不詳細所致,自己找到注冊自定義handler的方法即可使用。

順便送上一句自stackoverflow的話:The <system.web> section applies to IIS6 and below whereas <system.webServer> applies to IIS7 and above.

總結

以上是生活随笔為你收集整理的注册自定义HTTP Handlers的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。