2014-07-25 改进自定义菜单与使用SVN进行协同开发

  今天是在吾索实习的第13天。今天没有做过多的代码设计,只进行了一些代码的分析与进一步优化。其中,发现创建自定义菜单的关键代码书写可分为两部分:

  1. JSON格式的字符串在.net中的语法书写:
     1         string ResponseJsonStr = @"{
     2                                         ""button"":[
     3                                         {    
     4                                             ""type"":""click"",
     5                                             ""name"":""技术交流"",
     6                                             ""key"":""V1001_TODAY_MUSIC""
     7                                         },
     8                                         {
     9                                             ""type"":""click"",
    10                                             ""name"":""定位打卡"",
    11                                             ""key"":""V1001_TODAY_SINGER""
    12                                         },
    13                                         {
    14                                             ""name"":""..."",
    15                                             ""sub_button"":[
    16                                             {    
    17                                                 ""type"":""view"",
    18                                                 ""name"":""搜索"",
    19                                                 ""url"":""http://www.soso.com/""
    20                                             },
    21                                             {
    22                                                 ""type"":""view"",
    23                                                 ""name"":""视频"",
    24                                                 ""url"":""http://v.qq.com/""
    25                                             },
    26                                             {
    27                                                 ""type"":""click"",
    28                                                 ""name"":""赞一下我们"",
    29                                                 ""key"":""V1001_GOOD""
    30                                             }]
    31                                         }]
    32                                    }";

     

  2. 把URL与JSON数据包整合在一起,并以字符串形式返回(其中posturl存放URL,postData存放JSON字符串)

     1         Stream outstream = null;  
     2         Stream instream = null;  
     3         StreamReader sr = null;  
     4         HttpWebResponse response = null;  
     5         HttpWebRequest request = null;  
     6         Encoding encoding = Encoding.UTF8;  
     7         byte[] data = encoding.GetBytes(postData); //字符串编码为字节序列
     8         // 准备请求...  
     9         try  
    10         {  
    11             // 设置参数  
    12             request = WebRequest.Create(posturl) as HttpWebRequest;  
    13             CookieContainer cookieContainer = new CookieContainer();  
    14             request.CookieContainer = cookieContainer;  
    15             request.AllowAutoRedirect = true;  
    16             request.Method = "POST";  
    17             request.ContentType = "application/x-www-form-urlencoded";  
    18             request.ContentLength = data.Length;  
    19             outstream = request.GetRequestStream();
    20             outstream.Write(data, 0, data.Length); //写入参数 
    21             outstream.Close();  
    22             //发送请求并获取相应回应数据  
    23             response = request.GetResponse() as HttpWebResponse;  
    24             //直到request.GetResponse()程序才开始向目标网页发送Post请求  
    25             instream = response.GetResponseStream();  
    26             sr = new StreamReader(instream, encoding);  
    27             //返回结果网页(html)代码  
    28             string content = sr.ReadToEnd();  
    29             string err = string.Empty;  
    30             return content;  
    31         }  
    32         catch (Exception ex)  
    33         {  
    34 
    35             string err = ex.Message;  
    36             Response.Write(err);  
    37             return string.Empty;  
    38         }  

     

  另外,今天我们还开通了SVN托管服务,以达到协同开发及控制源码版本。因为我们实习团队的人员游走于各自不同的地方,所以一台互联网环境的SVN服务器对我们来说是很重要的,所以SVN托管服务对于我们的协同开发是必不可少的。

  最后,对于把URL与JSON字符串整合的代码,因我们是在互联网上找的加上对部分类的不熟悉,所以经过我们的分析,只能了解到一个大概,不能明确地说出每一句的作用是什么。希望有经验的朋友们能帮我们解释一下,特别是:outstream.Write(data, 0, data.Length)这句,是写入参数,但是把数据写入到哪里呢,还是把数据存入Write这个参数中呢;另外还有的一些类与函数,如:cookieContainer、GetRequestStream()、GetResponseStream、StreamReader,虽然在网上找过它们的作用,但真正来说还不能清楚地说出它们的真正含义。谢谢!

posted @ 2014-07-25 23:57  超懶的薯仔  阅读(317)  评论(0编辑  收藏  举报