Я не могу понять, почему это так.
У меня есть метод подключения, который отлично работает:
public void Connect()
{
_client.BeginConnect(new AsyncCallback(this.ConnectCallback), _client);
}
public void ConnectCallback(IAsyncResult asyncResult)
{
ServerClient callback = null;
callback = (ServerClient)asyncResult.AsyncState;
callback.EndConnect(asyncResult);
Program.IMMainForm.BeginInvoke(new frmMain.ConnectionEstablishedNotification(Program.IMMainForm.ConnectionEstablished));
Это работает совершенно нормально. Я скопировал и вставил этот код для моего метода отправки:
public void Send(string code, string data)
{
_client.BeginSendToServer((code + data), new AsyncCallback(this.SendCallback), _client);
}
public void SendCallback(IAsyncResult asyncResult)
{
ServerClient callback = null;
callback = (ServerClient)asyncResult.AsyncState;
callback.EndConnect(asyncResult);
}
Однако это ошибка на линии EndConnect с ошибкой
"Async End вызывается с IAsyncResult из другого метода Begin.
Имя параметра: результат "
говоря
Первое случайное исключение типа «System.ArgumentException» произошло в mscorlib.dll
Я не на 100% асинхронен, так что есть что-то очевидное, что я делаю неправильно?