在C#中保持http连接存活?

9 c# http httpwebrequest

如何在C#中保持连接存活?我做得不对.我想创建一个HttpWebRequest obj并使用它来转到我需要的任何URL?我没有看到一种方法来访问除了HttpWebRequest.Create静态方法之外的URL.

如何创建连接,保持连接,浏览页面上的多个页面/媒体并支持代理?(我听说代理很简单,支持几乎是标准的吗?) - 编辑 - 很好的答案.我如何申请第二个网址?

{
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create("http://google.com");
WebRequestObject.KeepAlive = true;
//do stuff
WebRequestObject.Something("http://www.google.com/intl/en_ALL/images/logo.gif");
}
Run Code Online (Sandbox Code Playgroud)

pet*_* k. 19

你试过HttpWebRequest.KeepAlive属性吗?它设置适当的Keep-Alive HTTP标头并保持连接.(当然,远程Web服务器也必须支持和启用此功能).

MSDN上的HttpWebRequest.KeepAlive文档声明默认情况下HTTP1.1连接设置为true,因此我怀疑您尝试联系的服务器不允许连接持久性.

代理自动使用,其设置取自您的系统(读取Internet Explorer)设置.也可以通过HttpWebRequest.Proxy属性或通过调整应用程序配置文件来覆盖代理设置(请参阅http://msdn.microsoft.com/en-us/library/kd3cf2ex.aspx).


dr.*_*vil 8

设置HttpWebRequest.KeepAlive属性True .NET将负责其余部分.它只是数据库连接池.透明地工作.

您可以自由地创建新连接.NET将确定您正在连接已连接的服务器并将使用它.还取决于你的Net.ServicePointManager.DefaultConnectionLimit号码,它将建立新的连接(如果你做multhithreading).


Luc*_*ero 4

您可以将HttpWebRequest.KeepAlive属性设置为 true。

对于代理,还有一个属性:HttpWebRequest.Proxy