вы будете думать: «Эта проблема решалась много, много раз. Так почему он не использует Google?» Пожалуйста, поверьте мне, я попробовал все. Я занимаюсь этой проблемой с прошлой недели. Я прочитал много блогов и искал MSDN. Но я не понимаю.
Так вот в чем проблема. Существует одно приложение Silverlight 4 и WCF DataService, оба работают на localhost
.
Это код. Думаю, ничего особенного.
private void InitializeData()
{
var query = (from item in ObjCtx.TestTgt
select item) as DataServiceQuery<TestTgt>;
Debug.Assert(query != null, "'query' is null");
query.BeginExecute(OnLoadDataFinished, query);
}
private void OnLoadDataFinished(IAsyncResult ar)
{
try
{
var query = ar.AsyncState as DataServiceQuery<TestTgt>;
Debug.Assert(query != null, "'query' is null");
var res = query.EndExecute(ar).ToList();
Data.Data = new ObservableCollection<TestTgt>(res);
}
catch(Exception ex)
{
Data.StateDescription = String.Format("Exception occured.{0}{0}{1}", Environment.NewLine, AgExMsgFormatter.GetExText(ex));
}
}
В OnLoadData
в этой строке: var res = query.EndExecute(ar).ToList();
возникает следующее исключение.
Исключение произошло.
[ИСКЛЮЧЕНИЯ]
[TYPE:] 'InvalidOperationException'
[MESSAGE:] 'Произошла ошибка при обработке этого запроса.'
[ЗВОНОК:]
в System.Data.Services.Client.BaseAsyncResult.EndExecute [T] (Источник объекта, метод String, IAsyncResult asyncResult)
в System.Data.Services.Client.QueryResult.EndExecute [TElement] (Источник объекта, IAsyncResult asyncResult)
в System.Data.Services.Client.DataServiceRequest.EndExecute [TElement] (Источник объекта, контекст DataServiceContext, IAsyncResult asyncResult)
в System.Data.Services.Client.DataServiceQuery`1.EndExecute (IAsyncResult asyncResult)
at SimpleGrid.SimpleGridVm.OnLoadDataFinished (IAsyncResult ar)
[InnerException]
[TYPE:] 'SecurityException'
[СООБЩЕНИЕ:] ''
[ЗВОНОК:]
в System.Net.Browser.AsyncHelper.BeginOnUI (SendOrPostCallback beginMethod, состояние объекта)
в System.Net.Browser.ClientHttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
в System.Data.Services.Http.ClientHttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
в System.Data.Services.Client.QueryResult.AsyncEndGetResponse (IAsyncResult asyncResult)
[InnerException]
[TYPE:] 'SecurityException'
[MESSAGE:] 'Ошибка безопасности.'
[ЗВОНОК:]
в System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult)
в System.Net.Browser.ClientHttpWebRequest. <> c__DisplayClass5.b__4 (объект sendState)
в System.Net.Browser.AsyncHelper. <> c__DisplayClass2.b__0 (объект sendState)
[/ InnerException]
[/ InnerException] * * тысяча сорок семь
[/ ИСКЛЮЧЕНИЕ]
В качестве режима аутентификации я хочу использовать Windows
. Оба настроены для этого в IIS. Веб-сервис работает и доставляет правильные данные.
Так чего мне не хватает? Я думал, что это должно работать. Любая помощь будет оценена.
Привет