如何通过WCF数据服务执行bool

时间:2014-01-08 13:56:32

标签: c# wcf

我对实体使用CreateQuery,但是如何将它与bool类型一起使用?我尝试使用这样的执行方法:

    public bool CheckIfBrowserExists(string name, string version)
    {
        var query =
            this.ClientRepositories
                .Proxies
                .Execute<bool>("CheckIfBrowserExists");

        return query;
    }

我不知道如何完成它。我通过norma post service提供工作解决方案,但如果可能的话,我想通过WCF数据服务来实现。

2 个答案:

答案 0 :(得分:0)

您无法公开返回bool并接受参数的服务操作,如WCF Data Services Operations documentation中所述。

WCF数据服务公开的操作仅允许IQueryable<T>返回类型的参数(用于构建查询表达式,从而检索和序列化数据)

在这种情况下使用WCF数据服务的IMHO是一种错误的方法,更好地使用标准WCF端点中的操作契约,因为您的操作返回业务逻辑结果而不是RESTful查询的数据响应。

答案 1 :(得分:0)

从您的服务中返回bool的最佳方法如下:

public bool CheckIfBrowserExists(string name, string version)
    {
        var result =
            this.ClientRepositories
                .Proxies
                .Execute<IEnumerable<bool>>("CheckIfBrowserExists");

        return result.Single();
    }

这将返回您尝试检索的布尔结果。实际上,如果您的数据服务返回IEnumerable<bool>,则execute方法返回bool

希望这有帮助。