Развернутое исключение приложения Silverlight при вызове службы WCF - PullRequest
0 голосов
/ 26 марта 2010

Приложение silverlight запускается, но когда оно вызывает сервис, я получаю:

Исключительная ситуация во время операции, делающая результат недействительным. Проверьте InnerException для подробностей исключения. в System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNeeded () в SalesSimplicityPO_SL.POSvc.GetPurchaseOrdersCompletedEventArgs.get_Result () в SalesSimplicityPO_SL.About.mySvc_GetPurchaseOrdersCompleted (Отправитель объекта, GetPurchaseOrdersCompletedEventArgs e) в SalesSimplicityPO_SL.POSvc.POSvcClient.OnGetPurchaseOrdersCompleted (состояние объекта)

Я загружаю и вызываю свой веб-сервис как ..

    BasicHttpBinding binding = new BasicHttpBinding();
    EndpointAddress address = new EndpointAddress(new Uri("http://localhost/POSystem/POSvc.svc"));
    POSvc.POSvcClient mySvc = new POSvc.POSvcClient(binding, address); 
    mySvc.InsertPOCompleted += new EventHandler<SalesSimplicityPO_SL.POSvc.InsertPOCompletedEventArgs>(mySvc_InsertPOCompleted);
    mySvc.InsertPOAsync(InitialsTextBox.Text.ToString(), DescTextBox.Text.ToString(), ClientTextBox.Text.ToString());

Отлично работает в отладке ....

Что я делаю не так, чтобы получить эту ошибку?


Обновление:

Я не очень понимаю, почему это исправило это, но это исправило это .. Может быть, кто-то может предложить некоторую информацию ...

я изменил

EndpointAddress address = new EndpointAddress(new Uri("http://localhost/POSystem/POSvc.svc"));  

TO

 EndpointAddress address = new EndpointAddress(new Uri(Application.Current.Host.Source, "../POSvc.svc")); 

Ответы [ 2 ]

1 голос
/ 26 марта 2010

Это работает, потому что silverlight не разрешает виртуальный путь, как ASP.NET.Чтобы перейти в корневую папку ASP.NET, вы должны использовать Application.Current.Host.Source

0 голосов
/ 26 марта 2010

Я не очень понимаю, Почему это исправило это, но это исправило это .. Может быть, кто-то может предложить некоторую информацию ...

Я изменил

EndpointAddress address = new EndpointAddress(new Uri("http://localhost/POSystem/POSvc.svc"));  

TO

 EndpointAddress address = new EndpointAddress(new Uri(Application.Current.Host.Source, "../POSvc.svc")); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...