• 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,虽然在网上找过它们的作用,但真正来说还不能清楚地说出它们的真正含义。谢谢!

  • 相关阅读:
    HDU 4278 Faulty Odometer 8进制转10进制
    hdu 4740 The Donkey of Gui Zhou bfs
    hdu 4739 Zhuge Liang's Mines 随机化
    hdu 4738 Caocao's Bridges tarjan
    Codeforces Gym 100187M M. Heaviside Function two pointer
    codeforces Gym 100187L L. Ministry of Truth 水题
    Codeforces Gym 100187K K. Perpetuum Mobile 构造
    codeforces Gym 100187J J. Deck Shuffling dfs
    codeforces Gym 100187H H. Mysterious Photos 水题
    windows服务名称不是单个单词的如何启动?
  • 原文地址:https://www.cnblogs.com/IamYoung/p/3869207.html
Copyright © 2020-2023  润新知