WebApi个人理解概要
Global文件的作用:
12345678910111213141516public
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);
}
}WebApi特点
类必须继承ApiController
返回类型不再是ActionResult
默认是请求WebApi控制器中的和HttpMethod同名的方法
设置当前WebApi的默认返回格式为json--移除xml格式
config.Formatters.Remove(config.Formatters.XmlFormatter);
网站访问WebApi,要提供相应的url接口
1234567891011121314151617181920212223242526//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();
}
}动态页面转静态
private void MakeStaticPage(string url)
{
string txtHtml = "";
string fileName = Guid.NewGuid().ToString() + ".html";
//1.C#模拟浏览器发出请求
WebRequest Request = WebRequest.Create(url);
//2.获取Response对象
WebResponse response = Request.GetResponse();
//3.根据响应报文获取字节流
Stream stream = response.GetResponseStream();
//4.字节流转换为html文本,并存储到相应文本中
using (StreamReader sr = new StreamReader(stream))
{
txtHtml = sr.ReadToEnd();
File.WriteAllText(Server.MapPath("/staticPage/" + fileName), txtHtml);
}
Response.Write("<script>alert('静态化成功 !');</script>");
}
三、MVC插件系统
WebApi个人理解概要的更多相关文章
- webform 中使用ajax
常用的方式有 js –> WebService , js->*.ashx, js->WebAPI, js->MVC Controller->Action. 前两种就不说 ...
- 《转》深入理解Activity启动流程(一)–Activity启动的概要流程
本文原创作者:Cloud Chou. 原文地址:http://www.cloudchou.com/android/post-788.html Android中启动某个Activity,将先启动Acti ...
- Web API与AJAX:理解FormBody和 FormUri的WebAPI中的属性
这是这一系列文章"与 AJAX 的 Web API".在这一系列我们都解释消耗 Web API rest 风格的服务使用 jQuery ajax() 和其他方法的各种方法.您可以阅 ...
- 深入理解Activity启动流程(一)–Activity启动的概要流程
概述 Android中启动某个Activity,将先启动Activity所在的应用.应用启动时会启动一个以应用包名为进程名的进程,该进程有一个主线程,叫ActivityThread,也叫做UI线程. ...
- Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor
Webservice WCF WebApi 注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...
- 理解中WebAPI的属性和相关操作 FormBody和 FormUri等(WebAPI 二)
1.FromUri使用 将数据通过url方式传递.我们需要在webapi方法标明,这个参数只接受url中参数的值, $("#Save").click(function () { $ ...
- 你真的理解PeopleSoft的Web概要(web profile)嘛
Web概要通过配置门户相关属性来控制门户的所有行为. 在PS系统中可以创建多个web概要,你可以通过不同的web概要来让用户路由到一个特定的web概要来控制超时,外观,缓存设置等.例如,通过Peopl ...
- WPF中的常用布局 栈的实现 一个关于素数的神奇性质 C# defualt关键字默认值用法 接口通俗理解 C# Json序列化和反序列化 ASP.NET CORE系列【五】webapi整理以及RESTful风格化
WPF中的常用布局 一 写在开头1.1 写在开头微软是一家伟大的公司.评价一门技术的好坏得看具体的需求,没有哪门技术是面面俱到地好,应该抛弃对微软和微软的技术的偏见. 1.2 本文内容本文主要内容 ...
- ASP.NET WebApi 学习与实践系列(2)---WebApi 路由请求的理解
目录 写在前面 WebApi Get 请求 1.无参数的请求 2.一个参数的请求 3.多个参数的请求 4.实体参数的请求 WebApi Post 请求 1.键值对请求 2.dynamic 动态类型请求 ...
随机推荐
- 【Chromium中文文档】Chrom{e,ium}{,OS}中的硬件视频加速
Chrom{e,ium}{,OS}中的硬件视频加速 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_ ...
- c语言中 %p的含义
格式控制符“%p”中的p是pointer(指针)的缩写.指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数.printf函数族中对于%p一般以十 ...
- 优盘(U 盘) 采用TLC, MLC, SLC芯片 的区别 与使用寿命
最近一直在看大家在讨论sandisk,pny,金士顿等大厂都开始用tlc的芯片问题,让大家基本都不敢用U盘存数据了按照之前的擦写参数TLC 1000次MLC 10000次SL ...
- Linux LVM硬盘管理及LVM分区扩容
LVM磁盘管理 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV. ...
- Android SD卡创建文件和文件夹失败
原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网 ...
- Xamarin.Android 如何使用Assets目录下的文件
原文:Xamarin.Android 如何使用Assets目录下的文件 个人原创,转载注明出处:http://blog.csdn.net/supluo/article/details/43672411 ...
- 关于ajax中async参数的感悟
async,这个参数默认为true. 就是异步去处理信息. 当把它设置为false的时候,就是同步去处理数据了. var current_lead_id = '<?php echo $curre ...
- 「深入理解计算系统」从Hello World开始
从 hello world 开始 Table of Contents 1 程序源文件 2 程序源文件是什么 3 程序被编译 4 程序运行 4.1 读取命令 4.2 读取指令内容 4.3 执行过程 5 ...
- 【OpenCV新手教程之十二】OpenCV边缘检測:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- Node.js开发指南中的例子(mysql版)
工作原因需要用到nodejs,于是找到了<node.js开发指南>这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服. 言归正 ...