-1

我们有一种情况,我们使用WebClient该类从服务器下载一些数据。我们可以控制客户端和服务器部分。目前,每次用户执行操作时,都会生成一个 webclient 并用于连接到服务器。然后客户端在后台下载一些数据并对其进行一些处理。当用户导致这种情况重复发生时,就会出现问题......在服务器端(不是基于.net!)我们看到连接在我们的超时期限后超时,并且不会将拆卸发送到服务器。这让我想到了我的问题......

是否有适当的方法来发出信号或强制拆除 webclient 类使用的 HTTP 连接?

代码:pMPTF 是一个回调类,用于将 .net 事件带入非托管世界。

void Callback(System::Object^ sender, System::Net::DownloadDataCompletedEventArgs^ e)
{
   WebClient^ w = (WebClient^)sender;
   w->Dispose();
   if( e->Error == nullptr && pMPTF != NULL )
      pMPTF->ParseResponse(e->Result);
   else
      pMPTF->ParseResponse( nullptr );
}

给出:

错误 C2039:“Dispose”:不是“System::Net::WebClient”的成员

4

1 回答 1

1

至此操作完成。如果使用delete该对象将被处置。我建议阅读有关如何在托管 C++ 中处理对象:msdn.microsoft.com/en-us/library/ms177197.aspx

如果要手动关闭响应,可以在返回的对象上调用GetWebResponse和调用。CloseWebResponse

于 2012-08-13T19:40:45.100 回答