码迷,mamicode.com
首页 > 其他好文 > 详细

第二章 设计程序架构 之 分布式应用

时间:2015-06-24 20:33:54      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

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 设计复合应用

    未完待续。。。

第二章 设计程序架构 之 分布式应用

标签:

原文地址:http://www.cnblogs.com/stone_lv/p/4598340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!