Skip to main content
 首页 » 编程设计

c#之CookieContainer 的 HttpWebRequest 操作超时

2024年02月23日33freeliver54

当我使用 HttpWebRequest 并添加:

CookieContainer container = new CookieContainer(); 
request.CookieContainer = container; 

它会在

中抛出一个 Operation Timeout异常
HttpWebResponse response = request.GetResponse() as HttpWebResponse; 

如果我不添加 CookieContainer,程序运行时不会出错。为什么这行不通?

请您参考如下方法:

我也遇到过这个问题。当我请求网页并将 HttpWebRequest 放入 Page_Load 函数并将 cookie 从当前页面添加到 CookieContainer 但它只是卡在那里直到超时

问题是当我第一次请求网页时 asp dot net 只是锁定了 session 以保护从不同地方同时写入的 session 。当我尝试调用 HttpWebRequest 请求同一个域相同的 Session 时,它将被阻塞直到第一页结束它的 session 锁定,同时,第一页正在等待 HttpWebRequest 结束它的工作 这两个请求只是互相等待直到超时。

好消息是我找到了解决这个问题的方法,我只是在第一页中设置了 EnableSessionState="ReadOnly",这使得我调用的第一页不会锁定 session 。 希望这可以帮助某人。