Я новичок в программировании и сетевом взаимодействии Silverlight в целом, и я пытался найти ответ на этот вопрос весь день.Я пытаюсь создать очень простое веб-приложение Silverlight4 в VS2010, которое вызывает веб-сервис на веб-сайте ASP.NET (то же самое решение, что и в клиентском приложении Silverlight, поэтому не должно возникать междоменных проблем ???).Я написал Web-сервис, используя VS «Службу WCF с поддержкой Silverlight», которая просто возвращает строку.
Затем я написал код для использования сервиса в Silverlight:
public MainPage () {InitializeComponent();
TestServiceClient proxy = new TestServiceClient();
EndpointAddress address = new EndpointAddress("http://localhost:" + HtmlPage.Document.DocumentUri.Port +
"/SilverlightApplication1.web/TestService.svc");
proxy.Endpoint.Address = address;
proxy.GetStringCompleted += new EventHandler<GetStringCompletedEventArgs>(proxy_GetStringCompleted);
proxy.GetStringAsync();
}
void proxy_GetStringCompleted(object sender, GetStringCompletedEventArgs e)
{
MessageBox.Show(e.Result.ToString());
}
Это прекрасно работает, когда я запускаю его с VS2010.Однако, когда я публикую его на своем персональном веб-сервере (IIS7) на том же компьютере, я получаю сообщение об ошибке:
Сведения об ошибке веб-страницы
Пользовательский агент: Mozilla / 4.0 (совместимо; MSIE 8.0;Windows NT 6.1; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Медиа-центр ПК 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET4.0C;.NET4.0E) Метка времени: понедельник, 17 мая 2010 г. 08:29:51 UTC
Сообщение: необработанная ошибка в приложении Silverlight Во время операции возникла исключительная ситуация, в результате которой результат стал недействительным.Проверьте InnerException для подробностей исключения.на System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary () в SilverlightApplication1.TestServiceReference1.GetStringCompletedEventArgs.get_Result () в SilverlightApplication1.MainPage.proxy_GetStringCompleted (Object отправителя, GetStringCompletedEventArgs е) при SilverlightApplication1.TestServiceReference1.TestServiceClient.OnGetStringCompleted (состояние объекта) Линия: 1 Char:1 Код: 0 URI: http://thunder.webhop.org:8001/home.html
Когда я улавливаю исключение в App.xaml.cs, я получаю следующее сообщение:
System.InvalidOperationException: Ошибка Eval.в System.Windows.Browser.HtmlWindow.Eval (String code) в SilverlightApplication1.App.ReportErrorToDOM (ApplicationUnhandledExceptionEventArgs e)
Следует отметить, что в противном случае веб-сервер работает нормально.Я могу без проблем размещать на нем приложения Silverlight через порт 8001. Я просто не могу понять, как сделать успешный вызов веб-службы!Любая помощь с этим будет С благодарностью.Я потратил весь день и вечер на это.Мой разум крутится кругами прямо сейчас ...: - (
Большое, большое спасибо заранее! Удачи
PS Извиняюсь за перекрестную публикацию на форумах Silverlight, но у нее были некоторые проблемы при публикации.