Мы используем Silverlight 2 с устройствами данных ADO.NET, и для тестирования страницы silverlight мы использовали службу в том же домене, которая работает нормально. Затем мы решили попробовать использовать прокси или промежуточную службу (находящуюся в том же домене, что и приложение Silverlight), которая в основном просто отображает службу, находящуюся в другом домене (используя класс, сгенерированный в ссылке на службу для службы в другом домене, как тип, представленный в нашем локальном сервисе и создающий конструктор, который указывает на Uri). Мы хотели сделать это так, как нам хотелось бы, чтобы наш сервер Silverlight находился в демилитаризованной зоне, а наш сервис - во внутреннем домене, так как мы будем использовать этот сервис и для внутренних приложений, и это, похоже, обходит междоменный домен. ограничения Silverlight.
Это прекрасно работает, когда мы используем следующий запрос:
var questions = (from q in context.Question
select q)
Но как только мы попытаемся использовать расширение, как в:
var questions = (from q in context.Question.Expand("Answers")
select q)
мы получаем исключение, заявляющее:
Может указывать параметры запроса (orderby, where, take, skip) после последнего проецирования.
Где трассировка стека:
в System.Data.Services.WebUtil.GetRequestEnumerator (IEnumerable enumerable)
в System.Data.Services.DataService 1.SerializeResponseBody(RequestDescription description, IDataService dataService)
at System.Data.Services.DataService
1.HandleNonBatchRequest (описание описания запроса)
в System.Data.Services.DataService`1.HandleRequest ()
У кого-нибудь есть предложения относительно причины этого? Конечно, это хорошо работает на внутренней службе, но я бы подумал, что, поскольку запрос является составным, он бы работал и на прокси-службе ...
Любая помощь будет принята с благодарностью!