WCF数据服务:呼叫服务操作

时间:2013-04-03 12:32:38

标签: c# wcf-data-services

我有一个带有服务操作的实例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>

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

DataServiceContext.CreateQuery仅将EntitySetName作为参数。您需要使用DataServiceContext.Execute来调用服务操作。