Web应用调用.Net Core API

一、新建Web Application应用:

选择Web Application

新建好之后页面如下:

二、新建Model。新建Model文件夹并建立apiModel.cs。

三、添加reference。

将Newtonsoft.Json添加到项目中。因为需要将json数据转换成对象,因此需要添加reference。

四、建立呼叫API的服务。

  1. public class callapi_service
  2. {
  3. public static TResult<T> getApiModels<T>(string strMethod, int id)
  4. {
  5. string result = string.Empty;
  6. TResult<T> models;
  7. string apiUrl = "";
  8.  
  9. if (strMethod=="GET")
  10. //apiUrl += getUrlQueryString(id);
  11. apiUrl = "http://localhost:19357/api/values/"+id;
  12. try
  13. {
  14. HttpWebRequest request = HttpWebRequest.Create(apiUrl) as HttpWebRequest;
  15. request.Method = strMethod;
  16. //request.ContentType = httpContentType;
  17. //request.Timeout = timeout;
  18. //request.Headers.Add(keyHeaderAuthorization, getApiToken());
  19.  
  20. using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
  21. {
  22. string strHttpStatus = response.StatusCode.ToString();
  23. using (StreamReader sr = new StreamReader(response.GetResponseStream()))
  24. {
  25. result = sr.ReadToEnd();
  26. }
  27. }
  28. models = JsonConvert.DeserializeObject<TResult<T>>(result);
  29. }
  30. catch (WebException ex)
  31. {
  32. models = default(TResult<T>);
  33. models.rc = ;
  34. models.msg = ex.Message;
  35. }
  36. catch (Exception ex)
  37. {
  38. models = default(TResult<T>);
  39. models.rc = ;
  40. models.msg = ex.Message;
  41. }
  42. return models;
  43. }
  44.  
  45. #region TResult
  46. public class TResult
  47. {
  48. /// <summary>
  49. /// result code
  50. /// </summary>
  51. public int rc { get; set; }
  52.  
  53. /// <summary>
  54. /// error message
  55. /// </summary>
  56. public string msg { get; set; }
  57. }
  58. public class TResult<T> : TResult
  59. {
  60. /// <summary>
  61. /// result code
  62. /// </summary>
  63. public int rc { get; set; }
  64.  
  65. /// <summary>
  66. /// error message
  67. /// </summary>
  68. public string msg { get; set; }
  69. public T data { get; set; }
  70.  
  71. }
  72. #endregion
  73. }

五、修改页面Default.aspx。

六、处理后台代码类Default.aspx.cs. 

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. var result=callapi_service.getApiModels<List<apiModel>>("GET",);
  4. gvApprovalList.DataSource = result.data;
  5. gvApprovalList.DataBind();
  6. }

七、成功

Web应用调用.Net Core API的更多相关文章

  1. web开发调用百度地图API + AK申请

    web开发调用百度地图API + AK申请 要使用百度地图的API我们首先需要在我们的html页面引入js----`` 如何获取百度地图ak: 1.登陆百度地图开发者平台 2.注册百度开发者账号并登陆 ...

  2. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  3. web端高德地图javascript API的调用

    [转载https://www.cnblogs.com/zimuzimu/p/6202244.html]web端高德地图javascript API的调用 关于第三放地图的使用,腾讯.百度.高德 具体怎 ...

  4. ASP.NET Core API 版本控制

    几天前,我和我的朋友们使用 ASP.NET Core 开发了一个API ,使用的是GET方式,将一些数据返回到客户端 APP.我们在前端进行了分页,意味着我们将所有数据发送给客户端,然后进行一些dat ...

  5. 【从零开始搭建自己的.NET Core Api框架】(七)授权认证进阶篇

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  6. 【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  7. 【从零开始搭建自己的.NET Core Api框架】(四)实战!带你半个小时实现接口的JWT授权验证

    系列目录 一.  创建项目并集成swagger 1.1 创建 1.2 完善 二. 搭建项目整体架构 三. 集成轻量级ORM框架——SqlSugar 3.1 搭建环境 3.2 实战篇:利用SqlSuga ...

  8. 【转】ASP.NET Core API 版本控制

    几天前,我和我的朋友们使用 ASP.NET Core 开发了一个API ,使用的是GET方式,将一些数据返回到客户端 APP.我们在前端进行了分页,意味着我们将所有数据发送给客户端,然后进行一些dat ...

  9. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

随机推荐

  1. rhel7 学习第二天

    参加<Linux就该这么学>在线培训的第二天,学习了虚拟环环境的搭建和红帽7的安装,同时也学习了rhel7的基本命令格式,以及systemctl的使用.

  2. Nginx Rewrite相关功能-防盗链

    Nginx Rewrite相关功能-防盗链 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. BeyondCompare4完美"破解"

    原文:https://blog.csdn.net/weixin_39298366/article/details/84390224 将以下操作保存为bat文件,然后双击运行即可. reg delete ...

  4. 团队第五次——Alpha2的发布

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign/ 这个作业要求在哪里 https:// ...

  5. 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 团队名称 快活帮 作业学习目标 (1)掌握软 ...

  6. python 文本全选

    这个是一个控制框有效果 # encoding: utf-8 from Tkinter import * def printentry(event): print("click on" ...

  7. 去掉VSS控制

    1:删除.vssscc.vssver.scc .项目名.csproj.vspscc文件 2:.csproj文件删除以下内容   SccProjectName = "SAK"   S ...

  8. python nose 自写插件打乱class类中用例执行顺序,但将test_a和test_z排除

    在使用nose时,有这样一个需求,用例执行打乱,但部分用例因场景原因必须先执行,这类用例在写用例时人为的加上了test_a或test_z字样 网上找了一圈,都没找到合适的方法,只有自己写插件了 已写完 ...

  9. 安装PyInstaller失败

    pip install PyInstaller 报错: 后运行: 指定安装源进行安装: pip3 install pyinstaller -i https://pypi.doubanio.com/si ...

  10. 为什么mysql事务回滚后,自增ID依然自增

    因为innodb的auto_increament的计数器记录的当前值是保存在存内 存中的,并不是存在于磁盘上,当mysqlserver处于运行的时候,这个计数值只会随着insert改增长,不会随着de ...