我在WPF應用程序中爲某些任務使用自託管服務。服務主機在運行時啓動,其基址爲http://localhost:Whatever-port-is-free-at-runtime
。當用戶具有管理權限時,這可以正常工作,但應用程序由受限用戶運行時會出現問題。WCF ServiceHost受限用戶netsh/httpcfg
我在網絡上發現了一些建議,建議使用netsh/httpcfg
保留網址,該網址適用於管理員用戶,但對於受限用戶不適用,因爲他們可能沒有使用這些工具保留網址的權限。由於直到運行時才知道端口號,因此url保留命令在邏輯上只能在運行時運行,這意味着進程將由受限用戶啓動,而不具有執行命令的權限。我在想這個嗎?
我想知道的是,如果有適當的解決方法?另外,我想知道受限用戶是否可以打開本地託管的WCF服務,因爲如果受限用戶無法做到這一點,解決上述問題將毫無意義。
This question perfectly describes my first issue of URL reservation
此服務是否被任何客戶端使用?如果是,那麼客戶端如何隨着地址的變化動態生成地址而使用該服務。另外爲什麼你沒有WCF服務的固定端口? – Rajesh 2013-03-20 17:02:23
是的,它被其他客戶使用。動態生成的localhost:xxxx url在運行時會讓客戶端知道,所以這不是一個問題,因爲當以admin身份運行時,此設置實際上工作。我不能擁有一個固定端口,因爲我無法確定最終用戶計算機上的硬編碼端口號是否空閒,即使這是我仍然遇到的問題,因爲我仍然需要保留命名空間。 – Bablo 2013-03-20 17:51:44