我们有一种情况,我们使用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'的成员
答案 0 :(得分:1)
此时操作完成。如果使用delete
,将丢弃该对象。我建议您阅读托管C ++中对象的处理方式:msdn.microsoft.com/en-us/library/ms177197.aspx
如果您想手动关闭回复,可以致电GetWebResponse
并致电返回的Close
对象上的WebResponse
。