Как возвращать значения от Webmethod до клиента в формате JSON?
Существует два статических международных значения, которые я хочу возвратить.
Я должен создать новый объект с теми 2 свойствами и возвратить его?
GetStatus () метод часто называют, и мне не нравится идея создать специальный объект каждый раз только для форматирования json...
[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 ...
}
На стороне клиента я ловлю возвращаемое значение в:
function OnSucceeded(result, userContext, methodName)
(PageMethods.GetStatus(OnSucceeded, OnFailed);)
Я бы просто пошел с объектом. Это подходит с тем, что вам нужно сделать. Если у вас есть два возврата, вы должны собрать их в структурированном виде.
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;
}