簡體   English   中英

ActiveX dll在IIS 8.5上不起作用

[英]ActiveX dll not working on IIS 8.5

ActiveX dll在IIS 8.5上不起作用

我們有一個經典的ASP應用程序,該應用程序使用和ActiveX dll即時生成圖像。 在帶有IIS6的Window 2003上可以正常工作。 但是我們正在將其遷移到Windows 2012和IIS 8.5。 DLL在服務器上注冊,配置為在其自己的應用程序池下運行(無托管代碼,經典管道模式)。 它的虛擬目錄配置為作為應用程序運行,並且具有* .dll的處理程序映射,以指向具有執行訪問權限的所有動詞的DLL,這與IIS6的配置相同。

呈現HTML調用DLL的ASP代碼如下所示:

<%dim SpokeData
dim JobName
dim NumOfExperts
dim ThisDirNo
dim ThisSel
dim PAPIType
dim JobType
dim SpokeDataShort
SpokeData = trim(Request.QueryString("Data"))
JobName = trim(Request.QueryString("JobName"))
NumOfExperts = trim(Request.QueryString("Exp"))
PAPIType = trim(Request.QueryString("PAPIType"))
JobType = trim(Request.QueryString("JobType"))
CalcDate = trim(Request.QueryString("Date"))
For ScaleNo = 1 to 20
    ThisSel = Mid(SpokeData,(ScaleNo*2),1)
    ThisDirNo = Mid(SpokeData,(ScaleNo*2)-1,1)
    If ThisSel = "1" then SpokeDataShort = SpokeDataShort & ThisDirNo else SpokeDataShort = SpokeDataShort & "0"

Next
Response.Write("<div id='Wheel'><img style='margin-left:20px' src='http://www.example.com/jpwheel/jpwheel.dll?Handler=Render&nori=" & PAPIType & "&dir=" & SpokeDataShort & "&" & Now & "'></div>")
%>

HTML如下所示: <img src="http://www.example.com/jpwheel/jpwheel.dll?Handler=Render&amp;nori=N&amp;dir=55555050555000000000&amp;11/05/2015 16:05:24" style="margin-left:20px">如果我嘗試這個直接下載我得到一個500錯誤(沒有錯誤日志不幸)。

它可以在IIS6上運行,而不能在IIS8.5上運行。 任何人都可以在將ActiveX服務器端DLL遷移到IIS8.5上大放異彩嗎? 我還沒有做的一件事是檢查DLL的依賴關系,有人可以為此推薦工具嗎? 我猜想Windows 2003即將壽終正寢,許多人都遇到了這樣的問題。

該問題是由於使用了不正確的處理程序映射引起的。 我將其設置為腳本映射。 它必須是具有以下詳細信息的模塊映射:

  • 請求路徑:*。dll
  • 可執行文件:jpwheel.dll的路徑
  • 模塊:IsapiModule
  • 名稱:jpwheel

請求限制:所有動詞,需要訪問:腳本

功能權限:讀取,腳本,執行

因此,它現在正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM