System.Net.Dns的型別初始設定式發生例外狀況

【System.Net.Dns的型別初始設定式發生例外狀況】在公司自己的ERP系統開發過程中遇到

System.Net.Dns的型別初始設定式發生例外狀況
問題:
在一個程序中用到了
this.ttbHostName.Text=System.Net.Dns.GetHostName();
在開發機器上一切都正常,但是打包在測試機器上安裝後,一運行到這一句,就發生錯誤,錯誤信息如下:
錯誤訊息:
{System.Net.Dns的型別初始設定式發生例外狀況。}
{System.Net.Sockets.Socket的型別初始設定式發生例外狀況。}
{無法在通訊端上執行操作,因為系統緩衝區空間不足,或是佇列已滿。}
我試了好長時間才從一大堆代碼中确定是這句有問題,這句是我原以為最不會出問題的,用的System.dll是NET框架自帶的,GetHostName也是靜態方法.
有誰知道原因是什麼呀?

1楼
自已先UP一下.
2楼
很有可能是测试的机器没有指定dns,你可以自己指定一下PreferredDNSserver,应该就好了。
3楼
有需要指定DNS嗎?
我有做過測試,我有一台機器,沒有加入任何網絡(也當然就沒有DNS),我用System.Net.Dns.GetHostName()一樣可以取得本身這台機器的機器名呀.
那如果在指定DNS要如何指定呀?
4楼
哎哟,繁体的错误提示看着晕晕的,只看的懂简体的和英文的。。。繁体好多名词生的很。都不知道是什么,帮不了你。

顶起,后面用繁体的兄弟们上


5楼
沒辦法,在港資做,用得就是繁體.
6楼
奇怪,是不是其他代码连带的?有完整的代码吗?
7楼
是不是其他代码连带的?---給了我很大的提示
我做的是一個Remoting結構的三層式架構的程序.
我又仔細看了一下錯誤提示:
{引動過程的目標傳回例外狀況。}{System.Net.Dns的型別初始設定式發生例外狀況。}{System.Net.Sockets.Socket的型別初始設定式發生例外狀況。}{無法在通訊端上執行操作,因為系統緩衝區空間不足,或是佇列已滿。}
發現Dns的錯誤是發生在Socket錯誤之後,我將這個程序的客戶端程序也做了一個安裝測試,發現客戶端在連Remoting服務器時一樣會出現這個一模一樣的問題,這樣我心里就有底了,因為我在客戶端沒有使用到任何Dns相關的代碼,所以我就猜想可以是這台測試機器本身網絡方面有問題,所以我又分別找了台XP和win2000profession的機器來做測試,發現全部正常,這說明就是那台測試機器本身有問題(至于是什麼問題,就沒清楚了.)還好客戶端可自由選擇是使用三層結構還是C/S結構,當選擇使用C/S結構時,完全不使用到REMOTING,也就不會出現這個問題了,基本上,在使用上不會出現那種使用不了的致命錯誤了.
8楼
我碰到类似的问题,把机器中的网络协议netbios删除就解决了。

    推荐阅读