今天在做接口開發時,遇到了一個異常:無法解析此遠程名稱: 'www.***.com'。我的網站一直是運行正常的,從昨天開始出現異常,用戶可以使用,但我的服務器怎么也無法實現對數據庫的更新。
分析原因:從防火牆屏蔽端口到支付寶簽約id是否過期,最后才找出原因,原來我的服務器DNS解析錯誤,無法訪問到調用的遠程服務器。原因是:服務器不能上外網。
解決辦法如下:
在服務器上執行:開始|運行|cmd ping www.***com //注:ping 后面的地址是你調用的遠程服務器的域名。
如果可以ping通,說明DNS解析正確。
如果ping不通,找一台可以在公網訪問到的機器再ping一下,記錄下這個域名對應的IP地址。(舉個例子,假如我們現在要調用遠程服務器:www.alipay.com ,ping 這個域名后發現它的ip是110.75.136.21 。)
進入C:\WINDOWS\system32\drivers\etc 目錄,找到hosts文件,打開,在文件尾部加入以下內容:
127.0.0.1 localhost
110.75.136.21
www.alipay.com
保存hosts文件。在你的程序中重新調用遠程服務器就可以了。
===================================
System.Net.WebException: 請求因 HTTP 狀態 417 失敗: Expectation failed 問題
今天被System.Net.WebException: 請求因 HTTP 狀態 417 失敗: Expectation failed的問題搞死了
通過url訪問服務器上的webservice是沒問題的
但在程序中訪問就出現System.Net.WebException: 請求因 HTTP 狀態 417 失敗: Expectation failed這個問題了
只能通過配置host指向webservice的服務器才能調用
baidu,google了無數次 ,原來是請求頭的問題
在new了webservice后,調用webservice的方法之前加上
System.Net.ServicePointManager.Expect100Continue = false;
搞掂,世界一下清凈了。
原文:
http://blog.csdn.net/wwzqj/article/details/7208332