首页 > 代码库 > WebApi个人理解概要
WebApi个人理解概要
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();
}
}动态页面转静态
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插件系统
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。