2012-12-14 122 views
0

我在WCF中很新,仍然在學習WCF的糖。我從來沒有爲生產環境開發任何WCF應用程序。很長時間以來,我一直在尋找一篇關於屏幕共享應用程序源代碼的好文章,最後我還是通過示例代碼找到了它。有關運行WCF服務器和客戶端的問題

bob cravens先生開發了一個小應用程序,用於在兩臺完全WCF保存的應用程序之間共享屏幕。我通過他們的代碼,並瞭解一些事情,仍然很少的事情,我的意思是很少流量不清楚給我。我需要在我的最後運行這個應用程序來清除整個事物,比如服務器如何與客戶端進行通信併發送對方的屏幕截圖。

當我試圖從示例代碼運行此wcf服務器,然後我發現它正在運行,但問題出在wcf客戶端。當我嘗試運行wcf客戶端時,我得到錯誤。

錯誤是: - HTTP無法註冊URL [http:// mypcip:myport/Rlc/Viewer /] [1]。您的流程不具有此名稱空間的訪問權限(請參閱參考資料)。當該行執行的WCF客戶端和線

Uri baseAddress = new Uri("http://mypcip:myport/Rlc/Viewer"); 
_viewerService = new ServiceHost(typeof(ViewerService), baseAddress); 
_viewerService.Open(); 

當服務主機嘗試打開與該行執行再發生錯誤

這個錯誤發生。

_viewerService.Open(); 

我嘗試將端口也從1003更改爲8080,但得到相同的錯誤。 我在那個網站發佈了問題,從那裏我得到了這個代碼,但沒有得到答案,也發現很多其他人也發佈相同類型的問題,並沒有得到答案。

從哪裏有人可以下載源代碼,並嘗試運行這些應用程序在他們的最後,並可以告訴我什麼是錯誤的代碼導致錯誤,當我嘗試運行此示例代碼wcf客戶端在我的電腦。我想了解爲什麼客戶給錯誤,但無法理解。

因此,我請求任何人下載源代碼,並首先運行服務器,然後在代碼中運行客戶端編輯IP地址,肯定會遇到錯誤。告訴我在代碼中需要更改什麼,結果我可以在我的電腦中完美運行這些應用程序。以調試模式瀏覽源代碼對我來說是非常重要的工作,但我無法運行這些應用程序。所以請幫助我becoz我在問題。謝謝

+0

你確定替代IP,並用具體的數值端口 「mypcip:MyPort上」(如「192.168.11.12:12345其中192.168.11.12是」your-pc-ip「)? –

+0

是的,我確實......如果你從bobcravens.com/files/RemoteDesktop.zip下載這個示例代碼並運行在你的最後,你可以看到wcf客戶端給出錯誤。如果你通過這個代碼,那麼你喜歡它,因爲它的目的。所以請下載並幫助我。謝謝 – Thomas

+0

您的問題與特定的代碼無關。相反,您的流程沒有足夠的權限來創建WCF端點。我建議你關閉UAC和/或運行應用程序「作爲管理員」(右鍵單擊在操作系統外殼可執行文件) –

回答

1

我曾經有過同樣的問題。

錯誤消息告訴您的是,您需要明確允許其在配置的地址和端口上運行

這將需要管理權限。

解決此問題的方法取決於您實際嘗試運行服務的操作系統。

的Windows XPServer 2003的運行,則需要使用此模式

httpcfg set urlacl /u {http://URL:Port/ | https://URL:Port/} /aACL 

如果您正在運行Windows Vista中配置它在命令行中,在Windows Server 2008 R2Windows 7的您需要使用netsh.exe工具:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user 

最後,你可能需要在防火牆規則配置破例允許該服務給您配置的地址/端口上運行:Open a port in Windows Firewall

我解決了這個問題,這些微軟的文章資源的幫助:

+0

以前我使用wcf作爲學習目的,我可以在我的電腦上運行wcf服務器和客戶端。我的操作系統是win7。我從來沒有配置任何這樣的netsh。那麼爲什麼我現在應該配置這個應用程序。這將是非常有益的,如果你只是下載的應用程序...我給你從哪裏可以下載的網址。請運行服務器和客戶端在你的電腦....然後你可以看到它卡住的地方。我想有些東西需要在代碼中改變。請下載一次以確定問題。謝謝 – Thomas

+0

你告訴我使用這個netsh http add urlacl url = http:// +:80/MyUri user = DOMAIN \ user但是在我的家用電腦中沒有域....只是在那裏工作組。那麼win7上的工作組聲明是什麼? – Thomas

+0

當我在win7上運行wcf客戶端時,我認爲我不應該爲此創建任何端口。端口需要運行服務器端。我對嗎 ?? – Thomas