Я хочу знать, как я могу использовать обычную службу WCF (а не службу WCF Silverlight) в моем приложении Silverlight. Вот что я пыталсяКак использовать WCF в приложении silverlight
- Я создал простую нормальную службу WCF
- Я изменил связывание с
basicHttpBinding
вweb.config
файле - Я поместил
clientaccesspolicy.xml
иcrossdomain.xml
файлы в папкеwwwroot
.
Но даже несмотря на то, что я не могу использовать службу WCF. Я получаю это исключение
System.ServiceModel.CommunicationException был необработанное по коду пользователя
сообщение = Произошла ошибка при попытке сделать запрос к URI «HTTP: //localhost/HWT/HelloWorldService.svc». Это может быть связано с тем, что пытается получить доступ к службе в междоменном режиме без надлежащей политики междоменного домена или политики, непригодной для служб SOAP . Вам может потребоваться связаться с владельцем службы, чтобы опубликовать файл политики междоменной политики и обеспечить его отправку заголовков HTTP , связанных с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Для получения дополнительной информации см. Внутреннее исключение .
StackTrace:
на System.ServiceModel.AsyncResult.End [TAsyncResult] (IAsyncResult результат)
в System.ServiceModel.Channels.ServiceChannel.EndCall (String действия, Object [] выходы, IAsyncResult результат)
в системе. ServiceModel.ClientBase1.ChannelBase
1.EndInvoke (String имяМетода, Object [] арг, IAsyncResult результат)
на ServiceRef.HelloWorldServiceClient.HelloWorldServiceClientChannel.EndGetName (IAsyncResult результат)
на ServiceRef.HelloWorldServiceClient.TestSilClient.ServiceRef.IHelloWorldService.EndGetName (Результат IAsyncResult)
в TestSilClient.ServiceRef.HelloWorldServiceClient.OnEndGetName (IAsyncResult результат)
на System.ServiceModel.ClientBase`1.OnAsyncCallCompleted (IAsyncResult результат)InnerException: System.Security.SecurityException
Message = ""
StackTrace:
на System.Net.Browser.AsyncHelper.BeginOnUI (SendOrPostCallback beginMethod, объект состояние)
на System.Net.Browser.BrowserHttpWebRequest.EndGetResponse (IAsyncResult AsyncResult)
в System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse (IAsyncResult результат)InnerException: System.Security.SecurityException
сообщение об ошибке = безопасности.
StackTrace:
в System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult)
в System.Net.Browser.BrowserHttpWebRequest. <> c_ DisplayClass5.b _4 (Объект sendState)
at System.Net.Browser.AsyncHelper. <> c_ DisplayClass4.b _1 (Object sendState)
Может кто-нибудь объяснить, что это лучший способ, чтобы потреблять нормальный сервис WCF в Silverlight приложения? Пример поможет мне.
спасибо.
Можете ли вы ** показать нам ** соответствующие части из вашего файла 'web.config'? (что-нибудь внутри раздела ''). Это исключение безопасности, поэтому я думаю, что это имеет какое-то отношение к тому, как ваш веб-сервис ожидает, что пользователи будут аутентифицироваться. –
Хм, можете ли вы подключиться к сервису в противном случае? Можете ли вы назвать его с помощью WcfTestClient? Можете ли вы назвать это, если у вас есть приложение Silverlight и служба на одном сайте? (Вот где я начну следить за наблюдением @marc_s) – Murph