2014-01-11 47 views
0

我正在開發一個C#應用程序,通過php使用.Net System.Net.WebRequest與MySQL服務器進行通信。它工作得很好,直到我將我的虛擬主機服務切換到BlueHost。我的應用程序不再有效,取而代之的是,我收到錯誤消息「WebException:遠程服務器返回錯誤:(503)服務不可用」。我聯繫了BlueHost技術支持人員,並被告知他們不支持C#。通過虛擬主機服務的C#支持

我不知道System.Net.WebRequest必須由Web服務器「支持」?!我很困惑。我可能會切換回我的舊主機服務,但我想知道更多關於這個問題。

有人請爲我解釋這個只是爲了安心嗎?非常感謝!

傑森

+0

你需要一個asp.net windows主機 – Jim

回答

0

如果你能夠達到使用web瀏覽器PHP的Web應用程序 - 那麼你應該能夠從您的C#應用​​程序的web請求。

您可以嘗試從WebException中讀取Response屬性 - 它可能會提供有關出錯的更多信息。看到這個答案爲例如如何做到這一點https://stackoverflow.com/a/10107490/138392

此外,你的C#應用​​程序坐在一個Web代理後面嗎?請參閱https://stackoverflow.com/a/18013509/138392以強制HttpWebRequest使用您的默認代理設置。

另外,你有沒有嘗試過設置WebRequest的UserAgent屬性?嘗試:

request.UserAgent = @"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"; 

就個人而言,我更喜歡作爲很多樣板代碼被抽象化了製作網頁請求時使用WebClientHttpClient類。使用Web API時,RestSharp庫也非常有用。

+0

謝謝!有效。 WebException.Response中的信息很深。我將探討你提到的其他課程。 – user3184362