我必须构建基于 MVC3 ASP.NET 的小型门户,该门户将从其他基于 MVC3 ASP.NET 的 Web 服务接收 JSON 格式的数据。服务将从数据库中获取数据,对其进行序列化,并将其作为 JsonResult 发送。Portal 需要捕获该数据并将其反序列化回模型并将其扔到适当的视图中。
由于我对此有点陌生,我正在考虑将 WebClient 用于门户网站,但我不知道是否有比这更好的东西?想法是在控制器内处理数据。
另外,我将不胜感激任何示例/教程。
谢谢
我必须构建基于 MVC3 ASP.NET 的小型门户,该门户将从其他基于 MVC3 ASP.NET 的 Web 服务接收 JSON 格式的数据。服务将从数据库中获取数据,对其进行序列化,并将其作为 JsonResult 发送。Portal 需要捕获该数据并将其反序列化回模型并将其扔到适当的视图中。
由于我对此有点陌生,我正在考虑将 WebClient 用于门户网站,但我不知道是否有比这更好的东西?想法是在控制器内处理数据。
另外,我将不胜感激任何示例/教程。
谢谢
我确实做到了这一点。我使用 HttpWebRequest 和 HttpWebResponse 类创建了一个通用类来使用外部 Web 服务。
使用 HttpWebRequest 类的理由可能是我相信您在使用 HttpWebRequest 时可以获得更精细的控制,因为 WebClient 类本质上是 HttpWebRequest 的包装器。然后将 Web 服务响应反序列化为 Web 门户应用程序中的自定义对象。
我也不会处理控制器中的数据并保持它们更清洁,我将此任务抽象为一个服务类,在该类中需要对响应进行任何验证/修改。
我不确定我是否完全理解您的问题,但如果您询问两个 Web 应用程序之间的正确通信方式,我建议您使用WCF
. 在这种情况下,将通过 SOAP 消息而不是 JSON 进行通信。
但是如果您询问如何将对象序列化为 JSON 格式,那么您可以使用 JSON.NET 库。