• vs2010 webapi开发http请求以及website中如何实现http请求


    一、vs2010 webapi开发

    第一步:创建
    在这里插入图片描述
    第二步:离线安装NuGet
    1、复制链接到浏览器打开:http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
    2、点击下载
    在这里插入图片描述
    3、双击安装
    在这里插入图片描述
    4、重新打开vs可查看到NuGet
    在这里插入图片描述
    5、加载 Microsoft.AspNet.WebApi

    Install-Package Microsoft.AspNet.WebApi -Version 4.0.30506
    
    • 1

    安装成功后,会引用webapi需要用到的dll

    Microsoft.Web.Infrastructure
    System.Net.Http
    System.Web.Http
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    6、在项目新增App_Start文件夹,并创建WebApiConfig.cs,用于添加api的路由配置

    using System.Web.Http;
    
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional }
            );
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    7、在Global.asax的Application_Start中注册WebApiConfig
    Global.asax

    <%@ Application Codebehind="Global.asax.cs" Inherits="WebApiTestPro.Global" Language="C#" %>
    
    • 1

    Global.asax.cs

    void Application_Start(object sender, EventArgs e)
            {
                // 在应用程序启动时运行的代码
                WebApiConfig.Register(System.Web.Http.GlobalConfiguration.Configuration);
    
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    8、新增apiControllers进行测试

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http;
    using WebApiTestPro.Controllers;
    using WebApiTestPro.Models;
    using System.Net.Http;
    using Newtonsoft.Json;
    using System.Text;
    
    namespace WebApiTestPro.Controllers.Api
    {
        public class TestController :ApiController
        {
            //GET api/
            [HttpGet]
            public HttpResponseMessage Get()
            {
                var product = new { id = 1, name = "testName" };
                HttpResponseMessage result = new HttpResponseMessage();
                result.Content = new StringContent(JsonConvert.SerializeObject(product), Encoding.GetEncoding("UTF-8"), "application/json");
                return result;
            }
    
            [HttpPost]
            public ResultModel PostTest(TestModel model)
            {
                ResultModel result = new ResultModel();
                ResultData data = new ResultData();
                result.res = true;
                data.res_code = "200";
                data.fail_msg = "default";
                data.timestamp = model.timestamp;
                data.content = model.content;
                result.res_data = data;
                return result;
            }
        }
    }
    
    • 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
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace WebApiTestPro.Models
    {
        public class ResultData
        {
            public string res_code { get; set; }
            public string fail_msg { get; set; }
            public string sign { get; set; }
    
            public string timestamp { get; set; }
    
            public List content { get; set; }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace WebApiTestPro.Models
    {
        public class ResultModel
        {
            public Boolean res { get; set; }
            public ResultData res_data { get; set; }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace WebApiTestPro.Models
    {
        public class TestModel
        {
            /// 
    	    /// 学生Id
    	    /// 
    	    public int Id { get; set; }
    	    /// 
    	    /// 学生姓名
    	    /// 
    	    public string Name { get; set; }
    
            public string timestamp { get; set; }
    
            public List content { get; set; }
    
            public string sign { get; set; }
        }
    }
    
    • 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

    项目目录如下:
    在这里插入图片描述
    在这里插入图片描述
    至此,vs2010.net webapi开发测试完成!

    二、在website项目中添加http接口请求

    网站系统目录Bin下,点击右键,添加引用即可!
    请添加图片描述
    在这里插入图片描述
    在这里插入图片描述

    添加引用后启动,出现一个问题,提示json包版本没有找到,解决方案:在web.config中添加以下配置即可

    
        
          
            
            
          
        
      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

  • 相关阅读:
    3D移动 translate3d
    pikachu平台SQL注入
    数字孪生赋能实景三维中国建设分论坛成功举办
    python ⾯向对象
    Unity3D热更设计:一款基于 HybridCLR的C#热更方案
    [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
    node版本管理工具nvm的使用
    Tomcat启动后的日志输出为乱码
    Redis第六讲:Redis性能排查与调优
    Hadoop MapReduce + Hadoop YARN
  • 原文地址:https://blog.csdn.net/zcxbd/article/details/127513953