JSON格式的WebMethod的返回值 [英] WebMethod return values in JSON format
问题描述
如何从WebMethod的返回值以JSON格式的客户端?
有,我想返回两个静态的int值。
我是否需要创建新的对象与2个属性,并返回呢?
该getStatus()方法被频繁调用,我不喜欢创建一个特殊的对象,每次只为JSON格式...
[WebMethod的]
公共静态的getStatus INT()
{
INT statusProcess,statusProcessTotal;
Status.Lock.EnterReadLock();
statusProcess = Status.Process; //静态字段
statusProcessTotal = Status.ProcessTotal; //静态字段
Status.Lock.ExitReadLock();
返回 ...
}
在客户端我赶在返回值:
函数OnSucceeded(结果的UserContext,方法名)
(PageMethods.GetStatus(OnSucceeded,OnFailed);)
我只想去一个对象。它适合什么,你需要做的。如果你有两个返回值,你必须把它们放在一起以结构化方式。
公共类StatusResult
{
公众诠释StatusProcess {获得;组; }
公众诠释StatusProcessTotal {获得;组; }
}
[WebMethod的]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)
公共StatusResult的getStatus()
{
INT statusProcess,statusProcessTotal;
//Status.Lock.EnterReadLock();
statusProcess = 5;
statusProcessTotal = 1; //静态字段
VAR的结果=新StatusResult();
result.StatusProcess = statusProcess;
result.StatusProcessTotal = statusProcessTotal;
返回结果;
}
How to return values from Webmethod to the client in JSON format?
There are two static int values that i want to return.
Do I need to create new object with those 2 properties and return it?
The GetStatus() method is called frequently and i don't like the idea of creating a special object each time just for json formatting...
[WebMethod]
public static int GetStatus()
{
int statusProcess,statusProcessTotal;
Status.Lock.EnterReadLock();
statusProcess=Status.Process; //Static field
statusProcessTotal=Status.ProcessTotal; //Static field
Status.Lock.ExitReadLock();
return ...
}
On client side I catch the return value in :
function OnSucceeded(result, userContext, methodName)
(PageMethods.GetStatus(OnSucceeded, OnFailed);)
I would just go with an object. It fits with what you need to do. If you have two return values you have to put them together in a structured way.
public class StatusResult
{
public int StatusProcess { get; set; }
public int StatusProcessTotal { get; set; }
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public StatusResult GetStatus()
{
int statusProcess,statusProcessTotal;
//Status.Lock.EnterReadLock();
statusProcess = 5;
statusProcessTotal = 1; //Static field
var result = new StatusResult();
result.StatusProcess = statusProcess;
result.StatusProcessTotal = statusProcessTotal;
return result;
}
这篇关于JSON格式的WebMethod的返回值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!