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插件系统

转载于:https://www.cnblogs.com/notniu/p/3898001.html

WebApi个人理解概要相关推荐

  1. Linux Performance

    性能专家Brendan Gregg的网站. Linux性能 该页面链接到我创建的各种Linux性能材料,包括右侧的工具图.它们使用大字体来适合滑盖.您也可以将它们打印出来用于办公室墙壁.它们显示:Li ...

  2. 20161104面试题-面试常问问题

    mvc如何判断用户登陆状态? mvc如何判断用户权限? mvc与webAPI的区别? 说说你对WebAPI的理解? 说说Lucene.net+盘古分词的原理? 说说WCF与WebService的区别? ...

  3. js对json对象的遍历和其他方法处理

    json的理解概要 字符串转成对象,对象转成字符串: JSON.parse( json) <===> JSON.stringify( json ) jQuery.parseJSON(jso ...

  4. High-Performance and Energy-Efficient Mobile Web Browsing on Big/Little Systems

    说明: 本文为博主自己翻译,水平有限,仅供参考. 画删除线部分我也不知道咋翻译. 加粗部分为论文重点表达. 红色部分为扩展链接 浅蓝色部分为博主个人理解 概要: 互联网网页浏览已经达到了一个关键的转折 ...

  5. 在FME中读取Dwg格式数据的探究

    原文发布时间:2013-09-16 作者:琴之音 作为初来乍到的我,对FME的了解还不是很深入,于是我仅把FME各个模块的功能及应用做一些简单介绍,以及对读模块参数的理解做一个总结吧. FME是可以对 ...

  6. 课时55.详情和概要标签(理解)

    1.什么是详情和概要标签? 作用: 利用summary标签来描述概要信息,利用details标签来描述详情信息 默认情况下是折叠展示,想看见详情必须点击 格式: <details> < ...

  7. C语言复习笔记——适合一些需要复习和进阶c语言的朋友,这只能说是个概要。当然,如果朋友你看到某个内容能联想到知识点,那你应该是掌握了的,你可以尝试找找其他的文章去深入理解下,如有错误和疑问可以直接指出

    C语言基本数据类型 C语言常量 什么是常量: 固定的值 常量的分类: 整形常量 //整数 //1,2,3,4 十进制数 //特殊格式的整数 //0123 八进制:0开头 //08---> 不算 ...

  8. 理解GloVe模型(Global vectors for word representation)

    理解GloVe模型 概述 模型目标:进行词的向量化表示,使得向量之间尽可能多地蕴含语义和语法的信息. 输入:语料库 输出:词向量 方法概述:首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe ...

  9. 开源组件websocket-sharp中基于webapi的httpserver使用体验

    一.背景 因为需要做金蝶ERP的二次开发,金蝶ERP的开放性真是不错,但是二次开发金蝶一般使用引用BOS.dll的方式,这个dll对newtonsoft.json.dll这个库是强引用,必须要用4.0 ...

最新文章

  1. Python 2.7.18 发布,Python 2 时代结束
  2. 有理数的小数表示若无限,则必为无限循环的
  3. 7-210 英文单词排序 (25 分)
  4. 跨境电商ERP系统的相关信息?
  5. 数据库-如何快速创建连接字符串
  6. 大话数据结构学习笔记-第三章线性表
  7. python3.x编程模板总结
  8. vue中带参数的请求路径
  9. Crucible安装与使用(代码审查Code Review)
  10. 为什么存png还有白色底_用photoshop保存透明背景的图片为png格式,为什么打开后是白色背景了?...
  11. mysql数据库d导出数据_mysql数据库导入导出
  12. 盘点 2021年度在线协同设计软件
  13. flutter在IOS上显示英文
  14. Android 相机方向传感,Nexus 5x反向横向传感器修复在Android相机预览...
  15. 开源像素贴图_Google值得信赖的硬件计划是开源,像素精确的邮政编码以及更多开源新闻...
  16. ubuntu 18.04.02 + GTX1660 + CUDA_10.0 + CUDNN_7.6.4 安装脱坑记
  17. 什么是裸金属服务器?裸金属服务器架构原理详解
  18. 扑克牌游戏03 PukeCards类
  19. 为什么没有下划线_资料1907:xumin字体打不出下划线?凌哥英语送您改进版!
  20. 基于微信小程序的食堂订餐

热门文章

  1. win10改成ubundu主题_如何将ubuntu引导win10,修改为win10引导ubuntu
  2. C排序算法:(一)直接排序
  3. 《YOLO算法笔记》(草稿)
  4. ffplay分析 (音视频同步:主时钟为音频)
  5. 【高性能定时器】时间堆(最小堆)
  6. windows远程桌面mstsc使用 代理
  7. python 之 __new__ 方法理解
  8. c语言中 %.2s,C2S是什么意思
  9. 再写堆(堆的性质,向下调整,建堆,堆的插入删除初始化,堆排序,TopK问题)
  10. 双向链表的操作(创建,插入,删除)