2011-12-24 85 views
2

我對asp.net網站中的web.config有疑問。對於一個項目,我使用DLL與智能卡讀取器進行通信。當我在本地使用該網站時,一切正常。但是當我把該網站在線,它不會工作了..它不會再找到該DLL,因爲它被阻止某種方式...ASP.NET web.config - 添加dll文件

我認爲web.config必須addapted,但我不現在要改變什麼讓網站與dll進行通信。 Mayby是一個httpModule還是httpHandler?

日Thnx

回答

0

你的庫必須在/ bin或GAC。您可能需要register .dll文件,如果沒有安裝程序:

Regsvr32 -i "C:\path\your.dll" 
+0

我在說的DLL是winscard.dll(在c:\\ Windows \下),我也把這個DLL也放在網站的Bin文件夾中。 我試過了你的命令,但是在執行時遇到了一個錯誤: 「Module'winscard.dll'被加載,但沒有找到accespoint DLLRegisterServer。確保'winscard.dll'是一個有效的DLL或OCX文件並再試一次' 我已經搜索了這個錯誤,但是沒有找到解決問題的方法.. –

0

看起來winscard.dll是常規的Windows API的一部分,看到Authentication Functions on MSDN。由於它是操作系統的一部分,因此複製它可能是一個壞主意。

問題是,你想要做什麼? ASP.NET代碼在服務器上運行,並且無法訪問遠程計算機上的智能卡閱讀器。

如果您有Windows域,在網站中使用智能卡的一種方法是讓最終用戶通過將IIS設置爲Windows集成身份驗證來登錄到Web服務器。

+0

我還是一名學生,該網站是爲學生提供的學生證。我們項目的測試網站(語言是荷蘭語,我來自比利時)http://pietereggermont.ikdoeict.be/app2/Login.aspx在您的右側,您可以看到登錄字段以及讀卡器下拉菜單 因此,當我們登錄時,會在數據庫和智能卡上的登錄數據中檢查登錄名。這適用於本地主機,但不適用於網絡服務器上的聯機。 我們使用此開發套件: http://www.acs.com.hk/index.php?pid=product&prod_sections=0&id=ACR38-CCID-SDK –

+0

此讀卡器具有標準代碼,可與卡和WINSCARD.DLL用於這樣的代碼: [DllImport(「winscard.dll」)] public static extern int SCardReleaseContext(Int64 phContext); 所以這就是爲什麼我認爲Web服務器無法訪問winscard.dll,因爲缺少代碼規則或什麼的。但不知道哪一個 –

+0

將[ASP.NET進程標識](http://msdn.microsoft.com/zh-cn/library/dwc1xthy.aspx)設置爲「system」應該排除任何權利問題。但即使你有網站訪問'winscard.dll',它仍然只能與連接到Web服務器的讀卡器通信。 – Andomar