• WebApi个人理解概要


    WebApi概要
    1. Global文件的作用:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      public class MvcApplication : System.Web.HttpApplication
      {
          protected void Application_Start()
          {
              //1.注册区域路由
              AreaRegistration.RegisterAllAreas();
              //2.注册webApi的路由
              WebApiConfig.Register(GlobalConfiguration.Configuration);
              //3.注册全局过滤器
              FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
              //4.注册网站路由
              RouteConfig.RegisterRoutes(RouteTable.Routes);
              //5.优化js、cs
              BundleConfig.RegisterBundles(BundleTable.Bundles);
          }
      }
    2. WebApi特点

      1. 类必须继承ApiController            

      2. 返回类型不再是ActionResult

      3. 默认是请求WebApi控制器中的和HttpMethod同名的方法

    3. 设置当前WebApi的默认返回格式为json--移除xml格式

      1. config.Formatters.Remove(config.Formatters.XmlFormatter);

    4. 网站访问WebApi,要提供相应的url接口

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      //http://localhost:4221/api/values/getpiglist
      protected void Page_Load(object sender, EventArgs e)
      {
          //1.拼装要请求数据的url
          string url = "http://localhost:4221/api/values/getpiglist";
          //2.利用C#模拟浏览器发出请求
          WebRequest request = WebRequest.Create(url);
          //2.1设置请求方式,如果不设置则默认为get
          request.Method = "get";
          //3.获取响应报文
          WebResponse response = request.GetResponse();
          //4.获取相应报文体的字节数据byte[]
          System.IO.Stream responseBody = response.GetResponseStream();
          //5.将字节数据转换为字符串
          using(StreamReader sr=new StreamReader(responseBody))
          {
              //5.1将相应报文体转换为json字符串
              string responseBodyText = sr.ReadToEnd();
              //5.2利用json序列化器将json字符串反序列化为list集合
              System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
              List<Entity> list = jss.Deserialize(responseBodyText, typeof(List<Entity>)) as List<Entity>;
              GridView1.DataSource = list;
              GridView1.DataBind();
          }
    5. 动态页面转静态

       1 private void MakeStaticPage(string url)
       2 {
       3 string txtHtml = "";
       4 string fileName = Guid.NewGuid().ToString() + ".html";
       5 //1.C#模拟浏览器发出请求
       6 WebRequest Request = WebRequest.Create(url);
       7 //2.获取Response对象
       8 WebResponse response = Request.GetResponse();
       9 //3.根据响应报文获取字节流
      10 Stream stream = response.GetResponseStream();
      11 //4.字节流转换为html文本,并存储到相应文本中
      12 using (StreamReader sr = new StreamReader(stream))
      13 {
      14 txtHtml = sr.ReadToEnd();
      15 File.WriteAllText(Server.MapPath("/staticPage/" + fileName), txtHtml);
      16 }
      17 Response.Write("<script>alert('静态化成功 !');</script>");
      18 }

    三、MVC插件系统

  • 相关阅读:
    为什么叫做重叠端口?
    为什么叫做重叠端口?
    拷贝构造函数的参数为什么必须使用引用类型
    拷贝构造函数的参数为什么必须使用引用类型
    2018 网易校招题目
    似友非友?
    贫穷与富有
    (OK) Android
    Android
    (OK) Android
  • 原文地址:https://www.cnblogs.com/notniu/p/3898001.html
Copyright © 2020-2023  润新知