У меня есть следующий код, где SprintServiceClient является ссылкой на службу WCF -
public class OnlineService
{
private SprintServiceClient _client;
public OnlineService()
{
_client = new SprintServiceClient();
}
public void AddMemberToTeam(MemberModel user, int projectId, Action<int> callback)
{
_client.AddMemberToTeamCompleted += (s, e) => callback(e.Result);
_client.AddMemberToTeamAsync(user.ToUser(), projectId);
}
}
проблема заключается в том, что каждый раз, когда вызывается AddMemberToTeam, он добавляет еще один обратный вызов клиенту .AddMemberToTeamCompleted
В первый раз, когда AddMemberToTeam называется обратным вызовом, вызывается один раз, второй раз, когда AddMemberToTeam называется обратным вызовом, называется дважды ect.
Есть ли способ удалить обработчик событий из AddMemberToTeamCompleted после вызова обработчика события или использовать другой метод, который принимает обратный вызов?