wcf 数据服务 [webGet] 方法返回 int - 如何读取 int?
我有一个返回 int 的 WCF 数据服务 [WebGet] 方法。 (产品表中没有产品)
我如何读取它的结果? 我用浏览器检查了该方法的工作原理。
public void ProductsCount()
{
ctx.BeginExecute<int>(new Uri(uriBase + "/GetNoProducts"), GetProductsCountCompleted, ctx);
}
public void GetProductsCountCompleted(IAsyncResult result)
{
inventory_db_bigEntities context=result.AsyncState as inventory_db_bigEntities;
var x = context.EndExecute<int>(result);
//how do i read the int out of the x variable
}
更新
也许 BeginExecute 和 EndExecute 不是正确的方法。
在浏览器窗口中,webget 方法返回:
“
I have a WCF data service [WebGet] method returning an int. (no of products in products table)
How can I read it's result?
The method works i checked with the browser.
public void ProductsCount()
{
ctx.BeginExecute<int>(new Uri(uriBase + "/GetNoProducts"), GetProductsCountCompleted, ctx);
}
public void GetProductsCountCompleted(IAsyncResult result)
{
inventory_db_bigEntities context=result.AsyncState as inventory_db_bigEntities;
var x = context.EndExecute<int>(result);
//how do i read the int out of the x variable
}
UPDATE
Maybe BeginExecute and EndExecute is not the way to go for it.
In the browser window the webget method returns:
"<GetNoProducts p1:type="Edm.Int32">223863</GetNoProducts>"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
IAsyncResult
的 MSDN 页面 使用BeginInvoke
而不是BeginExecute
,然后调用EndInvoke
取回值:The MSDN page for
IAsyncResult
usesBeginInvoke
rather thanBeginExecute
and then callsEndInvoke
to get the value back:你的例子有什么问题吗? EndExecute 应该可以解决问题...只需调用 FirstOrDefault() 即可获取原始值。或者,如果您不使用 SL,则可以同步执行:
http ://msdn.microsoft.com/en-us/library/hh230677.aspx#ExecutePrimitiveValue
What's wrong with your example? EndExecute should do the trick...just call FirstOrDefault() to get the primitive value. Alternatively, if you're not using SL, you can do it synchronously:
http://msdn.microsoft.com/en-us/library/hh230677.aspx#ExecutePrimitiveValue