在一個程序中用到了
this.ttbHostName.Text=System.Net.Dns.GetHostName();
在開發機器上一切都正常,但是打包在測試機器上安裝後,一運行到這一句,就發生錯誤,錯誤信息如下:
錯誤訊息:
{System.Net.Dns 的型別初始設定式發生例外狀況。}
{System.Net.Sockets.Socket 的型別初始設定式發生例外狀況。}
{無法在通訊端上執行操作,因為系統緩衝區空間不足,或是佇列已滿。}
我試了好長時間才從一大堆代碼中确定是這句有問題,這句是我原以為最不會出問題的,用的System.dll是NET框架自帶的,GetHostName也是靜態方法.
有誰知道原因是什麼呀?
this.ttbHostName.Text=System.Net.Dns.GetHostName();
在開發機器上一切都正常,但是打包在測試機器上安裝後,一運行到這一句,就發生錯誤,錯誤信息如下:
錯誤訊息:
{System.Net.Dns 的型別初始設定式發生例外狀況。}
{System.Net.Sockets.Socket 的型別初始設定式發生例外狀況。}
{無法在通訊端上執行操作,因為系統緩衝區空間不足,或是佇列已滿。}
我試了好長時間才從一大堆代碼中确定是這句有問題,這句是我原以為最不會出問題的,用的System.dll是NET框架自帶的,GetHostName也是靜態方法.
有誰知道原因是什麼呀?
解决方案 »
- 请问为什么DevExpress gridView 设置了AllowCellMerge EvenRow 就不起作用了。
- 如何备份sql server 2005的数据库?
- 过程需要参数但未提供该参数
- dll中如何操作mdiform實例?
- 类的实例方法的代码是否在内存中只存在一份?(注意不是静态方法)在线等....
- c#中处理图形问题,请您回答
- 关于使用.net生成的密钥格式及保存方式
- (求助)用c#制作的翻牌记忆游戏
- 求助:您必须有许可证才能使用此 ActiveX 控件 怎么解决
- 哪位高手可以告诉小弟如何做安装程序?
- 如何触发listview滚动条滚动事件!!!
- socket通信的问题,应该很简单,谁能解决我的分全给他!
我有做過測試,我有一台機器,沒有加入任何網絡(也當然就沒有DNS),我用System.Net.Dns.GetHostName()一樣可以取得本身這台機器的機器名呀.
那如果在指定DNS要如何指定呀?
我做的是一個Remoting結構的三層式架構的程序.
我又仔細看了一下錯誤提示:
{引動過程的目標傳回例外狀況。}{System.Net.Dns 的型別初始設定式發生例外狀況。}{System.Net.Sockets.Socket 的型別初始設定式發生例外狀況。}{無法在通訊端上執行操作,因為系統緩衝區空間不足,或是佇列已滿。}
發現Dns的錯誤是發生在Socket錯誤之後,我將這個程序的客戶端程序也做了一個安裝測試,發現客戶端在連Remoting服務器時一樣會出現這個一模一樣的問題,這樣我心里就有底了,因為我在客戶端沒有使用到任何Dns相關的代碼,所以我就猜想可以是這台測試機器本身網絡方面有問題,所以我又分別找了台XP和win2000profession的機器來做測試,發現全部正常,這說明就是那台測試機器本身有問題(至于是什麼問題,就沒清楚了.)還好客戶端可自由選擇是使用三層結構還是C/S結構,當選擇使用C/S結構時,完全不使用到REMOTING,也就不會出現這個問題了,基本上,在使用上不會出現那種使用不了的致命錯誤了.