日期:2014-05-17  浏览次数:21042 次

由于目标机器积极拒绝,无法连接 Stream sw = request.GetRequestStream报错怎么屏蔽掉呀?
大侠们好哈,现在小弟碰到了个如下问题
现在想做一个获取远程网址,然后传递指定参数给远程服务器,目前功能已经实现,但是有个问题就是,如果当前网络不通,或者服务器返回404,500等错误时,会提示


“/”应用程序中的服务器错误。
--------------------------------------------

由于目标机器积极拒绝,无法连接。 127.0.0.1:905 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Net.Sockets.SocketException: 由于目标机器积极拒绝,无法连接。 127.0.0.1:905

源错误: 


行 78: 
行 79:             request.ContentLength = b.Length;
行 80:             Stream sw = request.GetRequestStream();
行 81:             sw.Write(b, 0, b.Length); //写入数据
行 82:             sw.Close();
 

源文件: D:\net\YYOA\Project.WebUi\Update\Default.aspx.cs    行: 80 


我的项目部分源码:



            string strdata = "";
            string url = "http://localhost:905/Update_Url.aspx";
            //Response.Write(strdata);
            //Response.End();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            string Data = Server.HtmlEncode("Data=" + strdata + "");
            byte[] b = System.Text.Encoding.Default.GetBytes(Data);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";

            request.ContentLength = b.Length;
            Stream sw = request.GetRequestStream();  //这里报错
            sw.Write(b, 0, b.Length); //写入数据
            sw.Close();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream sw1 = response.GetResponseStream();
            StreamReader sr = new StreamReader(sw1, System.Text.Encoding.GetEncoding("UTF-8"));
            //获得服务器返回代码
            string getshouquan = sr.ReadToEnd();



本人新手,对C#不太熟,希望大侠们指点下哈,目的就是判断下当前网络是否连接,是否能连接到服务器,然后如果连接不上就给个错误提示,如:response.write("当前无法连接到远程服务器,请检测网络是否可用!"), 等,望帮忙哈,谢谢了