2013-06-20 74 views
0

是什麼原因造成這個異常被拋出,怎麼會作出補救電話的GetResponse()拋出(500)內部服務器錯誤

我想提出一個API發佈到服務器,通過一個序列化的XML文件,我希望有一個回電話。

相反,我的代碼在GetResponse()調用時拋出500內部服務器錯誤。

我檢查了我的文件的語法,它是正確的。我也知道我的邏輯工作正如我用於其他呼叫一樣。

try 
    {      
     wWebRequest = (HttpWebRequest)WebRequest.Create(strWebAddressAuthentication); 
     wWebRequest.CookieContainer = new CookieContainer(); 
     wWebRequest.Method = sHTTPTransMethod; 
     wWebRequest.ServicePoint.Expect100Continue = false; 
     wWebRequest.UserAgent = sUserAgent; 
     wWebRequest.ContentType = srequestContentType; 

     FileInfo fInfo = new FileInfo(filename); 
     long numBytes = fInfo.Length; 
     double dLen = Convert.ToDouble(fInfo.Length/1000000); 

     if (dLen < 100) 
     { 
      fStream = new FileStream(filename, FileMode.Open, FileAccess.Read); 
      br = new BinaryReader(fStream); 
      data = br.ReadBytes((int)numBytes); 
      br.Close(); 
      wWebRequest.ContentLength = data.Length;      
      dataStream = wWebRequest.GetRequestStream(); 
      dataStream.Write(data, 0, data.Length); 
      dataStream.Close(); 

      response = (HttpWebResponse)wWebRequest.GetResponse(); 
      foreach (Cookie cook in response.Cookies) 
      { 
       myCookieContainer.Add(cook); 
      } 
      txtXmlReturned.Text = (((HttpWebResponse)response).StatusDescription); 
      sServerResponse = txtXmlReturned.Text + Environment.NewLine; 
      dataStream = response.GetResponseStream(); 
      reader = new StreamReader(dataStream); 
      responseFromServer = reader.ReadToEnd(); 
      txtXmlReturned.Text = txtXmlReturned.Text + responseFromServer + Environment.NewLine; 

      reader.Close(); 
      response.Close(); 
      fStream.Close(); 
      fStream.Dispose(); 
      // ----------------------------------------------------------- 
     } 
     else 
     { 
      MessageBox.Show("The file selected exceeds the size limit for uploads.", "File Size"); 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message.ToString(), "Upload Error"); 
    } 
} 

回答

3

500內部服務器錯誤意味着服務器端存在問題。你正在爲客戶寫信。看看如果你瀏覽你在瀏覽器中使用的網址會發生什麼。

1

對於我們來說,我們的其中一個應用停止工作,並以500代碼響應。原來應用程序池被廢棄了。重新啓動有問題的網站將其清除。當然,還有其他一些潛在的問題,但是這款應用已經運行了好幾年了,這只是我們第二次遇到500。我們的應用程序沒有記錄任何內容。

給IIS一個檢查,假設它是IIS,並且你有權訪問服務器,並且看看有什麼東西在那裏發生了任何變化。

+0

很抱歉,我無法訪問服務器,它屬於英國政府:) – Zzz