0

我们正在开始一个新的大型项目,并打算在 Silverlight 中制作 UI。我们希望稍后能够切换到 HTML/JQuery,而无需重新编写整个服务端点。

Microsoft 服务堆栈中的标准方法是什么?

原谅这个问题的广度。我是 Silverlight 的新手。

我的倾向是倾向于 RESTFul JSON,我已经知道如何很好地使用 MVC 控制器。但 Silverlight 似乎想要(需要?)WCF 服务。我查看了启用 AJAX 的 WCF 服务,但其意图似乎是 Webforms/ScriptManager。

请指出我正确的方向。最终目标是拥有一个可以同时支持 JavaScript 和 Silverlight 客户端的服务端点。如果没有相对简单的解决方案,那也是一个很好的答案。

谢谢!

4

1 回答 1

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"]
        };
    }
}
于 2012-07-18T18:25:01.870 回答