Мы создаем приложение Silverlight и обращаемся к службе Silverlight-WCF.При запуске приложения из Visual Studio все работает отлично.Когда мы выполняем развертывание на веб-сайте и запускаем приложение, мы каждый раз при обращении к веб-сервису получаем следующую (или очень похожую) ошибку.
Message: Unhandled Error in Silverlight Application An exception occurred during the operation, making the result invalid. Check InnerException for exception details. at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
at SSS.MVVMCore.Silverlight.WebPortalService.GetThemeIdCompletedEventArgs.get_Result()
at SSS.MVVMCore.Silverlight.ViewModels.StandardBaseFrameViewModel.<.ctor>b__0(Object s, GetThemeIdCompletedEventArgs ea)
at SSS.MVVMCore.Silverlight.WebPortalService.WebPortalServiceClient.OnGetThemeIdCompleted(Object state)
Line: 1
Char: 1
Code: 0
URI: http://ssswebportal.com/login.aspx?p=d53ae99b-06a0-4ba7-81ed-4556adc532b2
На основании сообщения вызывается служба:выполняется полностью, но когда он пытается десериализовать результаты обратно в приложении Silverlight, что-то идет не так.Есть предложения относительно того, что происходит и что мы можем сделать, чтобы это исправить?
<<<<<<<<<<<<<<<<<<<<<<<<<<<< СЛЕДУЙТЕ ЗА >>>>>>>>>>>>>>>>>>>>>>>>>>>>
Это было наше решение:
В файле ServiceReferences.ClientConfig у нас был следующий код:
<client>
<endpoint address="http://localhost:5482/WebPortalService.svc"
binding="customBinding" bindingConfiguration="CustomBinding_WebPortalService"
contract="WebPortalService.WebPortalService" name="CustomBinding_WebPortalService" />
</client>
Обратите внимание на строку 'localhost'.Это должен быть адрес нашего веб-сервера, когда мы публикуем, но он должен быть локальным при разработке.
У кого-нибудь есть предложения о том, как сделать это автоматически, чтобы нам не приходилось вручную изменять эту строку перед каждой публикацией?