2009-08-24 21 views
1

我有一個VS 2008的解決方案,其中包括一個網站和一個Web服務。我正在同時開發,並且能夠從一個調試到另一個是有幫助的。VS 2008調試器:它是如何決定Cassini端口運行Web服務的?

它偶爾無法找到網絡服務。如果我查看web.config,我發現它所查看的端口號不是它在使用調試器時自動運行服務的端口號。例如,在web.config參考說是這樣的:

添加鍵= 「mynamespace.mywebservice」 值= 「HTTP://本地主機:55765/mywebservice.asmx」

當我將鼠標懸停在卡西尼號口圖標,我發現Web服務正在端口55382(或其他一些非55765端口)中運行。難怪它找不到它。

有沒有辦法強制它運行的端口號是在Web配置中指定的端口號?如果它不使用網絡配置端口號來確定它在哪裏運行,它在哪裏決定?我知道在VS2005中,有一種方法可以指定調試時使用的端口號,但在VS 2008的Web服務項目中找不到任何地方。來這個項目 - 我該如何解決它?刪除Web服務並重新添加到項目中可以修復它,但我實際上必須每天執行幾次,而不是理想的解決方案。

回答

1

我今天在尋找解決方案時偶然發現了這個問題......如上所述,您可以用記事本打開解決方案。尋找線路:

VWDPort = "55071" 

並將端口號更改爲您需要的值。保存文件。如果您打開解決方案,應該提示您重新加載。如果不重新啓動VS,你應該很好走。我不知道在VS中是否有選項,但對我來說這是一件容易的事。

0

在VS2008解決方案資源管理器中:右鍵單擊您的Web項目,選擇「屬性」。在左側,點擊「Web」,你會看到服務器下的端口選項。

+0

是的,這就是在VS2005中的工作。我在VS 2008的Web服務下沒有「web」選項。 – BDW 2009-08-24 13:28:07

+0

我剛剛在我的解決方案中添加了一個Web服務應用程序,並且我有「Web」選項。不知道爲什麼你沒有它。 – JustLoren 2009-08-24 14:21:50

3

here

默認情況下,卡西尼分配隨機 端口號它承載每一個網站。 第一次使用Visual Studio調試器的 啓動站點時,此端口號得到分配 ,然後在 解決方案的生命週期中持續存在 。

您可以通過 禁用此行爲選擇的項目節點在解決方案資源管理器 Web項目, 選擇查看 - >屬性窗口 (按Ctrl-W,P)。將「使用動態 端口」更改爲False,然後指定您喜歡的TCP 端口(最好將此 保持在1000-5000之間,但在技術上它可以是任何未使用的TCP端口)。

這將給你的卡西尼 - 託管 網站確定性的端口號, 使其更易於編寫使用託管在該網站的服務靛藍客戶 。

相關問題