2024年6月14日发(作者:)

首先是一个json序列化与反序列化的的帮助类(不记得是看博客园哪个大神的了。。):

publicclass JsonHelper

{

publicstaticstring JsonSerializer(T t)

{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typ

eof(T));

MemoryStream ms = new MemoryStream();

bject(ms, t);

string jsonString = ing(y());

();

return jsonString;

}

publicstatic T JsonDeserialize(string jsonString)

{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typ

eof(T));

MemoryStream ms = new MemoryStream(es(jsonStrin

g));

T obj = (T)ject(ms);

return obj;

}

}

一个实体类:

publicclass WeatherInfo

{

publicstring CityName { get; set; }

publicstring Date { get; set; }

}

服务端代码:

[WebMethod(Description = "返回信息")]

publicstring getJson(String city)

{

WeatherInfo weather = new WeatherInfo();

me = city;

= ng();

string jsonString = rializer(weather);

return jsonString;

}

客户端代码:

publicvoid GetForecast(string city)

{

WebClient client = new WebClient();

adAsync(new Uri("localhost//getJson?

city=" + city

+ "&time=" + ng("yyyyMMddHHmmss"),

ativeOrAbsolute));

adCompleted += new OpenReadCompletedEventHandler(clien

t_OpenReadCompleted);

}

void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)

{

try

{

XElement xmlWeather;

xmlWeather = ();

WeatherInfo weatherInfo = new WeatherInfo();

weatherInfo = serialize(xmlWeathe

);

//ine(me);

}

catch (Exception)

{

nvoke(() =>

{

("数据获取出错。");

});

}

}

这样就实现了webservice相应wp7app请求并返回数据的过程。