台灣最大程式設計社群網站
線上人數
698
 
會員總數:246202
討論主題:189774
歡迎您免費加入會員
討論區列表 >> ASP >> 元件服務 COM 的問題
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
元件服務 COM 的問題
價值 : 20 QP  點閱數:13058 回應數:25
樓主

kai
初學者
185 30
448 109
發送站內信

在這邊跟各位請教一下,關於 COM 的問題

小弟目前有一 Web Server,當該 Web Server

是處於登入狀況下時(也就是可以看到桌面)

其他使用者連到該 Web Server 使用網站功

能都正常;但當今天電腦重新啟動後未登入

(這裡是指本機)....而當使用者連線到 Web

Server 使用該網站功能都會出現如下錯誤訊息

伺服器物件,ASP 0177(0x8000401A)
設定的身分不正確,因此無法啟動伺服器處理請檢查使用者名稱及密碼

而就算我使用遠端登入將使用者登入本機後,再

去執行該 Web Server 上網站的功能還是會出現

此問題.....

只有當我真正使用該 Web Server 並且真的在該

Server 上登入本機後,使用者連線到該 Web Server

上執行網站功能才會正常....請問這是什麼

原因呢? 另外是否有方法能解決此問題呢?因為目前

小弟解決的模式就只能每次重新開機後一定要登入

該 Web Server 不然都會一值出現此問題........

搜尋相關Tags的文章: [ 元件服務 ] , [ COM ] , [ COM+ ] ,
本篇文章發表於2005-06-08 14:39
1樓
回應

Pachinko
捐贈 VP 給 Pachinko 檢舉此回應
這問題可能是你權限跑掉了
處理方式
1.修改IWAN_<ComputerName> 帳號的密碼
2.執行 "開始->程式集->系統管理工具->元件服務"
3.在元件服務->電腦->我的電腦->COM+ 應用程式->IIS Out-Of-Process Pooled Applications 上按右鍵選"內容",選擇 "識別碼" 的Label,重新設定一次密碼後,重新啟動IIS Service試試
本篇文章回覆於2005-06-08 15:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

kai
檢舉此回應
先在這裡感謝 Pachinko 提供的方式

但是,剛剛實際上測試了一下還是沒有

辦法解決,我將識別碼中的使用者原本

的 IWAN_UST-KAI 更改為此電腦的

UST-KAI\Administrator 後依然是當

我將電腦重新啟動後,不登入 OS 然後

用別台電腦連線到該電腦上的網站

然後一樣還是一值出現如一開始PO的

訊息,而當我真的用本機登入後網站

功能才得以正常運作,也才可以登入該

網站....另外也試過先利用遠端登入後

再去執行該網站功能,也試在一開始登入

就出現一開始PO的訊息....再請各位幫幫忙了
本篇文章回覆於2005-06-08 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

kai
檢舉此回應
此問題已解決..謝謝大家
本篇文章回覆於2005-06-16 12:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
建議您將COM註冊到元件服務
建立個專案...將使用權限設在專案上
本篇文章回覆於2005-06-16 12:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
在元件服務(COM+)中
建立一個新的空的專案
可以設定某個windows的帳號設定權限
然後將您的dll註冊上去....

這樣元件在執行的時候,可以不使用IUSER來執行相關程式

安全性比較有保障
本篇文章回覆於2005-06-16 12:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

kai
檢舉此回應
topcat兄

這邊有個問題請教一下,您說可以在我新建的專案中

設定 windows 的某個帳號使用者,那這個使用者是否

可以非為 administrator 的權限呢?還有這樣的設法

對於當今天我 web Server 在非人為操作下重新開機

後(如:跳電,斷電)此專案原件是否還活著,這裡的意思

是指不登入到 windows 看到桌面,連遠端使用者也不登

入,而我去操作 Web Server 上的 web 站台能夠正常使

用呢?

因為小弟在這試過最後是將 DLL 使用 regsvr32 的方式

則不管今天主機斷電或是跳電後重新啟動,我的 web 站台

依然能正常使用;但此方法的的缺點在於 DLL 的更新是需

要 administrator 的權限帳號使用者才能跟新的,至於一

開始提出的問題,為何會有這樣的情況呢?主因是因為網管

不願意在主機重新開機後幫我們登入windows讓元件帶起來

而要求我們自行遠端登入,但遠端登入的使用者權限也不是

administrator 根本沒辦法帶起來,在不斷的測試下;目前這

是小弟的作法 ^^"

regsvr32 的方式,已測試在 XP 2000 2003 下均確定一定要是

administrator 才能從遠端登入進行 DLL 的安裝,也確認過當

重新開機後沒任何使用者登入 windows 而 web 站台一切功能

正常.......
本篇文章回覆於2005-06-16 16:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
對啊....
您可以在Windows中建立一個專用的帳號...給相關的windows檔案與目錄的權限...
(用Administrator太危險啦...權限太大了)
可以給他相關資料庫的權限
那麼這個專案中的dll也可以繼承那個使用者的權限
可以使用相關的檔案、目錄、資料庫.....

只需要您的windows開啟後,COM+的服務有起來的話(預設應該是有起來的...否則您的windows中有一大堆東西動不了)
那麼就自然呼叫的到囉

要註冊到COM+之前....請務必記得.....
請務必記得.....請務必記得.....請務必記得.....請務必記得.....請務必記得.....請務必記得.....
要先將您本來用regsvr32註冊的reg移除掉(regsvr32 /u)

否則雙重註冊...會粉慘的....

另外...當您註冊了之後...Dll Run起來以後
如果您要更改程式
請進入元件服務中
在專案上按滑鼠右鍵...將專案【停止】
這樣才能夠將dll覆蓋過去

其實還有更多的好處...比如說Transaction....
跨Server呼叫等等....

以上提供您參考
本篇文章回覆於2005-06-16 16:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

kai
檢舉此回應
這邊有點不是很懂,關於帳號設定您說
"可以給他相關資料庫的權限
那麼這個專案中的dll也可以繼承那個使用者的權限
可以使用相關的檔案、目錄、資料庫....."

請問這個在使用者中怎麼設定@O@,另外元件服務註冊問題

我知 ^^",相關使用我知 QQ 不過關於權限設定部份

就不是很瞭了,只會開簡單的權限設定 =.="
本篇文章回覆於2005-06-16 17:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

kai
檢舉此回應
另外剛剛小弟又去看了關於使用者的設定

我只看到 administrator or 受限制的兩

種選項,而在元件服務中使用者那邊的設定

也只能讓我挑選使用者,而 topcat 兄你提

到的細部設定要怎麼設?
本篇文章回覆於2005-06-16 17:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
就是您可以在windows中建立一個新的windows user
將相關需要的資料夾、檔案的分享權限設定給這個新的windows user
也將DB的相關資料表的存取權限設定給這個新的windows user
接著
在COM+的專案中,指定權限由此windows user來存取此專案中的所有dll(不要用互動使用者唷)

大致上是這樣子的^_^
本篇文章回覆於2005-06-16 18:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

kai
檢舉此回應
topcat兄

關於資料夾的權限設定,我試了一下好像只能在開啟[網路共用及安全性]

下才能設定(我的系統是XP professional)另外我用的這一套web系統主要

是透過前端 web Server 透過 COM 去跟 後端 UNIX 資料系統做連結So

你說[將DB的相關資料表的存取權限設定給這個新的windows user]這邊小

弟無法理解,因為今天在我第一篇PO的問題就只是卡在當我 web Server

重新開機後 COM 的部份無法有效自動帶起;而您在之前提過的在 COM 中

設上使用者及密碼這部分在我找尋到我用的 regsvr32 這個方式前已經

試過但是還是無效....我想這邊應該是您講得那段我不懂意思的地方吧

可否講一下那段您提出來的地方的權限該如何設定或是有參考的東西可以

讓小弟自行摸索....
本篇文章回覆於2005-06-17 10:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
web Server 透過 COM 後端 UNIX 資料系統做連結

請再您的Web Server上建立一個使用者帳號
(不是你的xp professional唷...是Web Server主機上建立帳號)

然後針對這個帳號設定可以連上您後端UNIX資料系統
(這個部份請您在Web Server上建立帳號後,用帳號登入後測試看您要做的動作是否都OK)

接著在您的Web Server主機上的元件服務建立專案
將剛剛建立的使用者當做此專案的指定執行帳號

這些都是在主機上設定
不是在您開發的機器(xp professional)上這樣做...
本篇文章回覆於2005-06-17 11:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

kai
檢舉此回應
不好意思再請教一下:

目前我用我的開發環境也是走我之前敘述的模式

所以目前我的開發環境也就是那台 Web Server

因為之前提的那是客戶那邊的,地點在台中 ="=|||

而我們台北這邊我也是用我的電腦當 web Server

透過 COM 然後與後端 UNIX 做連結,而目前我用

XP 測試,我只能選擇兩種使用者來建立,一種是用

administrator;另一種則是有限制的使用者帳號

所以我建了一個帳號叫做 kai (此帳號也存在於

UNIX 系統中)...這邊我想詢問的是說在上方您提到

[然後針對這個帳號設定可以連上您後端UNIX資料系統]

這邊我要怎樣用呢?因為我都是用[Reflection](類似 telnet)

去登入 UNIX 系統,我要怎樣用我建立的 User 去登入

UNIX 呢?
本篇文章回覆於2005-06-17 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
不好意思ㄋㄟ...
小喵對於UNIX...不熟析
不過應該與您用Adminstrator的方式相同吧

建議您先過一關....在COM+的專案先設定Administrator測試看看

不過等到要正式安裝的時候....還是得去客戶的主機上重新建立一次環境(COM+ dll註冊 專案使用帳號)唷
本篇文章回覆於2005-06-17 11:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

kai
檢舉此回應
QQ

還是先謝了,基本上其實跟後端 UNIX 應該是沒關係

因為原因還是出在 Web Server 上,因為今天如果純

粹來講當 windows 開機後(沒有任何使用者登入)要

讓你的 Web 站台所要使用的元件啟動,就目前我所

測試到的跟之前做商業網站的經驗看來是沒辦法的

(純粹以使用元件服務功能,並且未登入windows),但

是今天如果使用者是使用 regsvr32 的方式並且是在

administrator 權限下登入windows註冊完成,則今天

不管你的 web Server 跳電重新啟動 or 斷電重新啟動

你的網站系統依然是可以正常操作的....

在這邊謝謝小喵兄與我討論 ^^y

而在上方會說跟 UNIX 無關是因為,今天是當執行到

網站上的各項功能時,才會透過 COM 將 UserName, PW

等相關資訊傳遞給 UNIX 系統上的DB再將所需的資料拿

回來所以只要 Web Server 上該專案的 COM 無法運作

起來就是沒辦法使用的....

另外關於[建議您先過一關..在COM+的專案先設定Administrator測試看看]

剛有這個問題時已測過..結論是殘唸 =.="
本篇文章回覆於2005-06-17 12:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.