我们正在开始一个新的大型项目,并打算在Silverlight中使用UI。我们希望以后能够切换到HTML / JQuery而无需重写整个服务端点。
Microsoft服务堆栈中的标准方法是什么?
原谅这个问题的广度。我是Silverlight的新手。
我倾向于倾向于RESTFul JSON,我已经知道如何很好地使用MVC控制器。但是Silverlight似乎想要(需要?)WCF服务。我查看了支持AJAX的WCF服务,但其意图似乎是Webforms / ScriptManager。
请指出正确的方向。最终目标是拥有一个可以支持JavaScript和Silverlight客户端的服务端点。如果没有相对简单的解决方案,那也是一个很好的答案。
谢谢!
答案 0 :(得分:0)
以下是使用Silverlight调用json ashx服务的方法。
您可以使用WebClient调用json服务并接收流。 然后,您可以使用JsonValue和JsonArray从流中检索数据并将其放入Silverlight模型中。
注意:确保添加System.Json作为参考。
public void CallJson()
{
var webClient = new WebClient();
webClient.OpenReadCompleted += ReadCompleted;
webClient.OpenReadAsync(new Uri("http://thisIsWhereYour.Uru/Goes.ashx"));
}
void ReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
JsonArray array = (JsonArray)JsonValue.Load(e.Result);
foreach (var jsonPerson in array)
{
var person = new {
firstName = jsonPerson["FirstName"],
lastName = jsonPerson["LastName"]
};
}
}