【问题标题】:WCF Data Services: call service operationWCF数据服务:调用服务操作
【发布时间】:2013-04-03 12:32:37
【问题描述】:

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

我该如何解决这个问题?

【问题讨论】:

    标签: c# wcf-data-services


    【解决方案1】:

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

    【讨论】:

    • 另外,您使用的是哪个版本的 WCF 数据服务 (Microsoft.Data.Services.Client)?确保您使用的是最新的包 (5.4RTM) 位。您可以从 Nuget.org 下载它。
    • 非常感谢辛西娅!我必须更准确地阅读 MSDN。 msdn.microsoft.com/en-us/library/hh230677.aspx 谢谢你,普拉蒂克。我使用 5.3 版。我不知道这个版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多