在前面,键盘上的那个人在睡眠部门已经过期了。但也有点绝望。
我有一个数据服务[WebGet]方法,设置如下。
[WebGet]
public string Finalize(string PayloadObject, string CltUUID, string Comment){..}
它返回一个简单的字符串,具体取决于内部执行的结果。这工作正常。
我称之为
var res = base.ServiceRef.CreateQuery<DBcontext>("Finalize")
.AddQueryOption("PayloadObject", string.Format("'{0}'", builder.ToString()))
...
如何让此查询具体化? 通常使用res.ToList(),ToArray()或.First()。如果我这样做,我会得到一个例外。使用.ToString()不执行查询,只返回url。
查询有效,如果我在此代码后面的行中单击并在调试器中单击“查看...”,则执行查询,该方法在服务器上运行。
似乎我只是不让它运行,我错过了什么?除了睡觉
感谢您的任何指示
此致,Andreas
答案 0 :(得分:0)
我认为你不能使用CreateQuery
来调用返回单值的操作。您必须使用Execute instead。 MSDN文档还提到返回基本类型cannot use QueryOption
的操作是有意义的,因为查询选项用于定义IQueryable
的查询。如果您需要传递参数,请尝试使用通用WCF REST方法在WebGet
中指定模板,并在客户端使用正确包含参数的URI。
您还可以尝试在服务操作中使用SingleResultAttribute
。