首頁(yè) > 系統 > Win2003 > 正文

Windows 2003 Server 中DOTNET程序訪(fǎng)問(wèn)COM組件

2023-04-28 11:48:28
字體:
來(lái)源:轉載
供稿:網(wǎng)友

  今天挺高興,項目終于上線(xiàn)使用。只是上線(xiàn)之前遇到的問(wèn)題折磨得人精疲力盡。。。不過(guò)總算解決了。。在這把問(wèn)題說(shuō)出來(lái),希望對有需要的朋友提供些幫助~~

  項目:DOTNET項目,C#開(kāi)發(fā),主要功能是通過(guò)COM組件訪(fǎng)問(wèn)遠程接口。

  運行環(huán)境:Windows 2003 Server + IIS6.0 + .Net 1.1

  問(wèn)題:COM組件及系統在WINDOWS2000操作系統下都能正常使用,但遷移到WIN2003下,在程序調用組件時(shí)進(jìn)程卡住了,有時(shí)會(huì )返回服務(wù)器出現意外情況的錯誤~

  原因分析:首先,組件在其它操作系統下通過(guò),說(shuō)明組件應該沒(méi)問(wèn)題;注冊COM組件及DOTNET項目引用方法均正確,而錯誤出現在調用組件這一步,而COM組件的功能就是通過(guò)IP地址及端口訪(fǎng)問(wèn)遠程接口,這里注意有一個(gè)遠程網(wǎng)絡(luò )連接的工作;上網(wǎng)搜索類(lèi)似問(wèn)題,大部分文章都是組件的權限問(wèn)題,我也根據文章所寫(xiě)設置了組件,IIS訪(fǎng)問(wèn)用戶(hù)等的權限,都給予了最大權限,結果還是不行。??毂罎⒘?。。

  解決方法:被這個(gè)問(wèn)題折磨了幾天之后,公司聯(lián)系了微軟客戶(hù)支持,micro給了個(gè)方法,查看下IIS6.0里的應用程序池的安全性權限。查看了下,在IIS里的應用程序池屬性中,“標識”標簽下有個(gè)默認的安全性帳戶(hù)“網(wǎng)絡(luò )服務(wù)”即NetWork Service。Network Service 是 Windows Server 2003 中的內置帳戶(hù),其屬于IIS_WPG 組,IIS_WPG 的成員具有適當的 NTFS 權限和必要的用戶(hù)權限,按微軟網(wǎng)站上的文章所說(shuō),Network Service 帳戶(hù)具有充當 IIS 6 工作進(jìn)程的進(jìn)程標識的充足權限,以及具有訪(fǎng)問(wèn)網(wǎng)絡(luò )的權限。但不知道為什么,這里的NetWork Service權限不夠,造成不能調用組件訪(fǎng)問(wèn)遠程接口。解決的方法就是將IIS_WPG帳戶(hù)設置為讀取與執行、列出文件夾目錄、讀取,而NETWORK SERVICE則需要完全控制權限。根據以上方法,我把NetWork Service賦于到Administrator組 ^_||  ,重啟IIS,再運行程序,OK,正常調用組件了~~

  因此如果有朋友再有碰到調用COM組件不能用時(shí),考慮一下應用程序池的權限~~

  參考以下文章: http://www.microsoft.com/china/technet/community/columns/insider/iisi1203.mspx

發(fā)表評論 共有條評論
用戶(hù)名: 密碼:
驗證碼: 匿名發(fā)表