2013-04-03 6 views
0

У меня есть экземпляр служб данных WCF с операцией службы.Услуги передачи данных WCF: операция обслуживания вызова

[WebGet] 
    public IQueryable<long> TestMethod() { 
     long[] instanceNumberArray = new long[] { 1 }; 
     return instanceNumberArray.AsQueryable(); 
    } 

Я стараюсь называть его таким образом:

Uri EndPointAddressUri = new Uri(@"http://localhost:9227/ReviewServiceWDS.svc/"); 
DataServiceContext context = new DataServiceContext(EndPointAddressUri); 
DataServiceQuery<long> query = context.CreateQuery<long>("TestMethod"); 
var result = query.Execute(); 
var value = result.FirstOrDefault(); 

На последней строке я поймать исключение:

Ошибка потока реакции обработки. Элемент XML содержит смешанный контент.

В то же время возвращает Internet Explorer:

<TestMethod> <element p2:type="Edm.Int64">1</element> </TestMethod>

Как я могу решить эту проблему?

ответ

0

DataServiceContext.CreateQuery принимает значение EntitySetName как параметр. Для вызова сервисных операций вам необходимо использовать DataServiceContext.Execute.

+0

Кроме того, какую версию служб данных WCF (Microsoft.Data.Services.Client) вы используете? Убедитесь, что вы используете бит последнего пакета (5.4RTM). Вы можете скачать его с Nuget.org. – Pratik

+0

Большое спасибо, Синтия! Я должен читать MSDN более искусно. http://msdn.microsoft.com/en-us/library/hh230677.aspx Спасибо, Пратик. Я использую версию 5.3. Я не знал об этом выпуске. – Jovanny

Смежные вопросы