.net模拟post本地没问题,远程System.Net.WebException基础连接已经关闭: 连接被意外关闭

问题描述

准备写一个远程调用的方法,用的是.net的模拟post,在本地测试无误后放到服务器,就报错了,具体是捕捉到System.Net.WebExceptionHResult=-2146233079Message=基础连接已经关闭:连接被意外关闭。Source=SystemStackTrace:在System.Net.HttpWebRequest.GetResponse()在_Default.SendServices(Stringmethod,Stringpara)位置Default.aspx.cs:行号74InnerException:查了很久,找不出原因。这是具体调用方法publicstaticstringSendServices(stringmethod,stringpara){stringurl=ConfigurationManager.AppSettings["RegisterUrl"]+"AjaxHandler/InterfaceHandler.ashx/"+method;stringcontenttype="application/x-www-form-urlencoded";HttpWebRequestmyRequest=(HttpWebRequest)WebRequest.Create(url);myRequest.Method="POST";myRequest.ContentType=contenttype;myRequest.ContentLength=para.Length;try{StreamnewStream=myRequest.GetRequestStream();ASCIIEncodingencoding=newASCIIEncoding();byte[]postdata=encoding.GetBytes(para);newStream.Write(postdata,0,para.Length);newStream.Close();}catch(WebExceptionet){}HttpWebResponseres;stringcontent;try{res=(HttpWebResponse)myRequest.GetResponse();StreamReadersr=newStreamReader(res.GetResponseStream(),Encoding.UTF8);content=sr.ReadToEnd();//得到结果}catch(WebExceptionex){res=(HttpWebResponse)ex.Response;content=ex.ToString();}returncontent;}

解决方案

本帖最后由 lyrenlian 于 2015-11-06 16:43:36 编辑
解决方案二:
防火墙啊,端口啊什么的导致超时的时候会发生,你可以检测下
解决方案三:
真看不出有什么问题HttpWebRequestmyRequest=(HttpWebRequest)WebRequest.Create(url);改成HttpWebRequestmyRequest=HttpWebRequest.Create(url);试一试

时间: 2024-10-06 13:47:08

.net模拟post本地没问题,远程System.Net.WebException基础连接已经关闭: 连接被意外关闭的相关文章

System.Net.WebException: 服务器提交了协议冲突. Section=ResponseStatusLine 在线等高手解决

问题描述 System.Net.WebException:服务器提交了协议冲突.Section=ResponseStatusLine在System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequestrequest)在System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequestrequest)在System.Web.Serv

maven本地仓库与远程仓库

在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径, 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org.testng --->o

Maven详解之仓库------本地仓库、远程仓库

在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径, 解读Maven在仓库中的存储路径: 1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将  "."  转换成 "/" ; example: org.testng --->o

c# web-Asp.net Server Error in '/' Application. 在本地没问题,传空间报这个问题!

问题描述 Asp.net Server Error in '/' Application. 在本地没问题,传空间报这个问题! 报的错误! 困扰我俩天了! 还没有解决! 有没有有经验的帮小弟一下!!!Server Error in '/' Application. Runtime Error Description: An application error occurred on the server. The current custom error settings for this app

java-RMI本地client调用远程服务器上的server报错

问题描述 RMI本地client调用远程服务器上的server报错 代码这篇文章上的.Java RMI之HelloWorld篇 我把ihello,helloimpl,server放在了服务器上,client放在了本机电脑的eclipse中 保证远程服务器上的server正常运行,运行client报错 Caused by: java.lang.ClassNotFoundException: IHello (no security manager: RMI class loader disabled

java poi做导入excel 2007在本地没问题,在正式环境出问题

问题描述 java poi做导入excel 2007在本地没问题,在正式环境出问题 解决方案 先上传到服务器.再做导入 解决方案二: 就是先上传到服务器的 解决方案三: 你文件上传到服务器后的保存目录是D:apache.......poifiles这个目录么

maven是怎么判断包在本地仓库和远程仓库哪个是新的?

maven是怎么判断包在本地仓库和远程仓库哪个是新的? 比如我本地更新了一个项目的jar包,然后install了,编译其它依赖这个项目不会用远程仓库的,而是使用本地的如果我把这个包提交到仓库,编译其它依赖这个项目会自动下载远程仓库到本地仓库 maven是怎么判断本地仓库和远程仓库哪个jar包是新的?是用提交时间判断么?还是根据版本号判断的? maven对构件的更新判断基本上是两种,一种是稳定版本,一种是maven特有的SNAPSHOT版本. 稳定版本很好判断,直接根据maven构件的坐标体系就能

调环信的创建群组接口,System.Net.WebException: 远程服务器返回错误: (400) 错误的请求。

问题描述 报错:System.Net.WebException: 远程服务器返回错误: (400) 错误的请求.调这个接口之前成功过,现在报这个,可能是什么问题? 解决方案 (错误请求) 服务器不理解请求的语法.   检查一下

springmvc+hibernate服务器上报错,本地没问题

问题描述 springmvc+hibernate服务器上报错,本地没问题 使用springmvc+hibernate在服务器上部署的时候,访问控制器,能够进入控制器打出日志.但是无法显示页面.同时报错. org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException