У меня есть веб-клиент, который я использую в своем боте:
using System;
using System.Net;
namespace Game_Bot
{
class WebClientEx : WebClient
{
public CookieContainer CookieContainer { get; private set; }
public WebClientEx()
{
CookieContainer = new CookieContainer();
}
public void ClearCookies()
{
CookieContainer = new CookieContainer();
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = CookieContainer;
}
return request;
}
}
}
У меня есть один объект моего веб-клиента.Есть много методов, которые используют это.Если два потока хотят использовать этот webClient для загрузки, я получаю сообщение об ошибке, в котором говорится, что webClent может одновременно выполнять только одну операцию.Как я могу изменить этот класс так, чтобы когда один поток использовал его, другой должен был ждать.Мне нужно каким-то образом заблокировать его.