HttpWebRequest가있는 서버에 연결하려고 시도했습니다. & HttpWebResponse 및 HttpWebResponse가 제대로 작동하지만 서버가 시간 초과되었거나 연결이 끊어 졌을 때 알고 싶은 다른 문제가 있습니다. 내 연결에 문제가 있다고 가정합니다. 나는 내가 다음 코드이 이해할 수있는 방법을 알고 싶어요 분리있어 :HttpWebRequest 및 HttpWebResponse 문제
string uri = @"myUrl";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Credentials = new NetworkCredential(User, Pass);
ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);
byte[] buf = new byte[10000];
int count = -1;
String read = "";
HttpWebResponse response;
//MessageBox.Show("OK");
//response = (HttpWebResponse)request.GetResponse();
//count = response.GetResponseStream().Read(buf, 0, buf.Length);
//read = Encoding.UTF8.GetString(buf, 0, count);
//MessageBox.Show(read + "SALAM");
//while (true)
//{
response = (HttpWebResponse)request.GetResponse();
//while (true)
//{
do
{
count = response.GetResponseStream().Read(buf, 0, buf.Length);
read += Encoding.UTF8.GetString(buf, 0, count);
} while (response.GetResponseStream().CanRead && count != 0);
if (read != "")
{
// MessageBox.Show(read);
XDocument xdoc = XDocument.Parse(read);
//Filter EventXML
var lv1s = from lv1 in xdoc.Descendants("event")
select new
{
Event_id = lv1.Attribute("id").Value,
Header = lv1.Attribute("name").Value,
Children = lv1.Descendants("argument")
};
List<event_details> event_detail = new List<event_details>();
foreach (var lv1 in lv1s)
{
if (lv1.Event_id == event_id)
foreach (var lv2 in lv1.Children)
{
event_details x = new event_details();
x.type = lv2.Attribute("type").Value;
x.value = lv2.Attribute("value").Value;
event_detail.Add(x);
}
}
//inja chun ke daram rooye MsgDGV ke ye k Datagridview minevisam bayad hatman az Invoke estefade konam
// ta kharabkari nashe:P:D
Point detail_point = new Point();
detail_point.X = MsgDGV.Width/2 + (this.Width - MsgDGV.Width)/2;
detail_point.Y = MsgDGV.Height/2 + (this.Height - MsgDGV.Height)/2;
Details detail = new Details(event_detail, timestamp, EVENT, detail_point);
detail.ShowDialog();
event_details.Abort();
}
연결이 꺼져 있고 서버에 연결하려고하면 예외가 발생하지만 예외는 발생하지만 서버에 연결되어 있고 중간에 무선을 예외로 설정하면 예외가 발생합니다. 왜 던지고 있니? 왜 작동하지 않는지 궁금 했어 !! – Ehsan