Пожалуйста, прости плохой код и невежество, это просто поздний ночной взлом, чтобы что-то проверить.
В любом случае я пытаюсь использовать RESTSharp с WP7, но я сталкиваюсь с препятствием, которое я не смог понять.
Может кто-нибудь взглянуть?
Код:
namespace McMyAdmin.Data
{
[DataContract]
public class Status
{
private bool isRunning;
private bool isReady;
private int ram;
private int maxRam;
private int users;
private int maxusers;
private DateTime startDateTime;
private int cpuUsage;
[DataMember(Name = "running")]
public bool IsRunning { get { return isRunning; } set { isRunning = value; } }
[DataMember(Name = "ready")]
public bool IsReady { get { return isReady; } set { isReady = value; } }
[DataMember(Name = "ram")]
public int Ram { get { return ram; } set { ram = value; } }
[DataMember(Name = "maxram")]
public int MaxRam { get { return maxRam; } set { maxRam = value; } }
[DataMember(Name = "users")]
public int Users { get { return users; } set { users = value; } }
[DataMember(Name = "maxusers")]
public int MaxUsers { get { return maxusers; } set { maxusers = value; } }
[DataMember(Name = "starttime")]
public DateTime StartDateTime { get { return startDateTime; } set { startDateTime = value; } }
[DataMember(Name = "cpuusage")]
public int CPUUsage { get { return cpuUsage; } set { cpuUsage = value; } }
public Status GetStatus()
{
var webclient = new RestClient
{
BaseUrl = "http://localhost:8080",
Authenticator = new HttpBasicAuthenticator("admin","xxxxxxxx")
};
var request = new RestRequest("data.json", Method.GET);
request.AddParameter("req", "status");
Status test = new Status();
var sd = webclient.ExecuteAsync<Status>(request, (response) =>
{
test.isRunning = response.Data.isRunning;
test.isReady = response.Data.isReady;
test.Ram = response.Data.Ram;
test.MaxRam = response.Data.MaxRam;
test.Users = response.Data.Users;
test.MaxUsers = response.Data.MaxUsers;
test.StartDateTime = response.Data.StartDateTime;
test.CPUUsage = response.Data.CPUUsage;
});
return test;
}
}
}
Это не приводит к ошибкам, но вместо этого данные мусора, которые следующие
CPUUsage 0 int
IsReady false bool
IsRunning false bool
MaxRam 0 int
MaxUsers 0 int
Ram 0 int
startDateTime {1/1/0001 12:00:00 AM} System.DateTime
Users 0 int
но сравните это с точным Json, это совершенно неправильно
{"status":200,"running":true,"ready":true,"stopping":false,"failed":false,"failmsg":"","maxram":1024,"users":0,"maxusers":8,"userinfo":{},"time":"2011-12-03 23:46:54","ram":"241","starttime":"12/03/2011 17:32:04","cpuusage":0}
Заранее спасибо