我的目标是在失败时重试异步HttpWebRequest.
当我Abort()一个HttpWebRequest时,我再也无法使用BeginGetResponse().因此,再次请求的唯一方法可能是重新创建HttpWebRequest对象.它似乎需要大量工作,因为我必须从旧对象复制所有属性.有没有捷径?
注意:我认为序列化可以解决我的问题,但是这个类不会序列化,正如前一个问题所讨论的那样.
更新删除示例源代码,因为它是不必要的
关于此问题的当前视图没有快捷方式,重做请求的唯一方法是创建另一个HttpWebRequest对象,就像创建原始对象一样.
这是不可能的.
HTTPWebRequest实例实际上表示一个请求实例(尽管存在将在内部重试的边缘情况),因此不能在逻辑上重复.它能够准确地返回一个响应(请求/响应是一个逻辑对),虽然您可以多次检查该响应,但您将获得完全相同的对象.
基本上,您认为HTTPWebRequest实例是一种工厂,但它确实具体.您必须创建另一个实例.