1. 概述
分布式应用是将程序的互相协作的各个模块放到不同的机器上,从而提高程序的性能和可靠性。
本章内容包括:集成web service、设计复合应用、分布式环境的session管理 以及 web farms。
2. 主要内容
2.1 集成web service
可以使用Asp.Net MVC4 创建 REST(Representation State Transfer) 服务。
使用 ApiController来返回序列化的数据。这个Controller根据Html头的Accepts属性来决定返回Xml或者Json格式的数据。
* ASP.NET Web Services (ASMX)是微软之前的web服务技术,可以让调用者简单的调用其中的方法,但是不能定制化特定的部件,比如传输协议、安全性、编码方式。目前该技术已被WCF和Web API代替。
使用ASP.NET MVC4可以方便的从Rest url中获取数据:
private HttpService _httpService; public ArticleRepository() { _httpService = new HttpService(); } public IQueryable<Article> GetArticle s() { Uri host = new Uri("http://www.yourdomain.com"); string path = "your/rest/path"; Dictionary<string, string> parameters = new Dictionary<string, string>(); NetworkCredential credential = new NetworkCredential("username", "password"); XDocument xml = _httpService.Get(host, path, parameters, credential); return ConvertArticleXmlToList(xml).AsQueryable(); } private List<Article> ConvertArticleXmlToList(XDocument xml) { List<Article> article = new List<Article>(); var query = xml.Descendants("Article") .Select(node => node.ToString(SaveOptions.DisableFormatting)); foreach (var articleXml in query) { article.Add(ObjectSerializer.DeserializeObject<Article>(articleXml)); } return article; }
2.2 设计复合应用
未完待续。。。
时间: 2024-11-05 15:46:59