Ошибка при попытке использовать службу WCF в приложении Silverlight - PullRequest
0 голосов
/ 08 июля 2010

У меня ошибка в приложении Silverlight:

     An exception occurred during the operation, making the result invalid.  
Check InnerException for exception details.

       at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
       at SecretaryAppNav.ServiceReference1.GetChildByFirstnameCompletedEventArgs.get_Result()
       at SecretaryAppNav.Views.FindChild.client_GetChildByFirstnameCompleted(Object sender, GetChildByFirstnameCompletedEventArgs e)
       at SecretaryAppNav.ServiceReference1.Service1Client.OnGetChildByFirstnameCompleted(Object state)

Появляется, когда я нажимаю кнопку.Это действие вызывает использование службы wcf:

private void button1_Click(object sender, RoutedEventArgs e)
        {
            //BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
            //EndpointAddress endpointAddress = new EndpointAddress("http://localhost:15371/Service1.svc");
            //IService1 personService = new ChannelFactory<IService1>(basicHttpBinding, endpointAddress).CreateChannel();
            //personService.BeginGetChildByFirstname(this.tbChildName.Text, 
            //    delegate(IAsyncResult result)
            //{
            //    IList<Dziecko> p = ((IService1)result.AsyncState).EndGetChildByFirstname(result);
            //    this.Dispatcher.BeginInvoke(
            //        delegate()
            //        {
            //            this.tbChildSurname.Text = p.ElementAtOrDefault<Dziecko>(0).Nazwisko;
            //        }
            //    );
            //}, personService);
            Service1Client client = new Service1Client();
            client.GetChildByFirstnameCompleted += new EventHandler<GetChildByFirstnameCompletedEventArgs>(client_GetChildByFirstnameCompleted);
            client.GetChildByFirstnameAsync(this.tbChildName.Text.ToString());
        }

        void client_GetChildByFirstnameCompleted(object sender, GetChildByFirstnameCompletedEventArgs e)
        {
            this.dataGridChild.DataContext = (IList<Dziecko>)e.Result;
        }

Когда я использую службу в консольном приложении, все работает нормально, но в SL возникают ошибки: / Любая идея?

1 Ответ

0 голосов
/ 09 июля 2010

Вы уверены, что получите список, когда ваш запрос говорит, что вы получаете только одного ребенка (Dziecko = child, нет?)

Возможно, вам следует разыграть e.Результ Дзецко:

this.dataGridChild.DataContext = (Dziecko)e.Result;

Но, как говорит Дэвид, нам нужно InnerException, чтобы увидеть, что идет не так.

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