Процедура асинхронного события C # не запускается - PullRequest
0 голосов
/ 14 апреля 2010

Я работаю с API, в котором есть несколько методов, которые после завершения вызываются асинхронно с процедурой обработки события. Я могу выполнить методы, но процедура события, похоже, не срабатывает. ПРИМЕЧАНИЕ. Я вчера опубликовал аналогичный вопрос, но не опубликовал код намного позже. Я надеюсь, что кто-то может определить, где я иду не так

public partial class Window1 : Window
{
ClientAppServer newServer= new ClientAppServer();

public Window1()
{
    InitializeComponent();

    //the event thats supposed to fire
     newServer.ReceiveRequest += ReadServerReply;
}


private void ReadServerReply(RemoteRequest rr)
{
    //this point is never reached
    MessageBox.Show("reading server reply");
    if ((rr.TransferObject) is Gateways)
    {
        MessageBox.Show("you have gateways!");
    }
}


private void login()
{
//API docs says this is an asynchronous call        
newServer.RetrieveCollection(typeof(Gateways), true);

}


private void button1_Click(object sender, RoutedEventArgs e)
{
    this.login();
}

1 Ответ

1 голос
/ 16 апреля 2010

Какой это API? Это может помочь нам разобраться.

Из кода, который вы разместили, не похоже, что метод RetrieveCollection имеет какое-либо отношение к получению запросов - он не должен запускаться.

С точки зрения рекомендаций, я предполагаю, что вы пытались установить точку останова в обработчике событий. Если у вас нет исходного кода для вашей библиотеки, вы можете использовать Reflector, чтобы увидеть, что делает ваша библиотека, и проверить, должно ли оно вызывать событие.

http://www.red -gate.com / продукты / отражатель /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...