资讯

展开

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

作者:快盘下载 人气:

一、vs2010 webapi开发

第一步;创建
vs2010-webapi开发http请求以及website中如何实现http请求
第二步;离线安装NuGet
1、复制链接到浏览器打开;http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c
2、点击下载

3、双击安装
webapi
4、重新打开vs可查看到NuGet
vs2010
5、加载 Microsoft.AspNet.WebApi

Install-Package Microsoft.AspNet.WebApi -Version 4.0.30506

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

Microsoft.Web.Infrastructure
System.Net.Http
System.Web.Http
vs2010
vs2010
vs2010
webapi
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 }
        );
    }
}

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

<% Application Codebehind=;Global.asax.cs; Inherits=;WebApiTestPro.Global; Language=;C#; %>

Global.asax.cs

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

        }

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/<controller>
        [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;
        }
    }
}
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<String> content { get; set; }
    }
}

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; }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApiTestPro.Models
{
    public class TestModel
    {
        /// <summary>
	    /// 学生Id
	    /// </summary>
	    public int Id { get; set; }
	    /// <summary>
	    /// 学生姓名
	    /// </summary>
	    public string Name { get; set; }

        public string timestamp { get; set; }

        public List<String> content { get; set; }

        public string sign { get; set; }
    }
}

项目目录如下;
webapi
vs2010
至此;vs2010.net webapi开发测试完成;

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

网站系统目录Bin下;点击右键;添加引用即可;
webapi
vs2010
vs2010

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

<runtime>
    <assemblyBinding xmlns=;urn:schemas-microsoft-com:asm.v1;>
      <dependentAssembly>
        <assemblyIdentity name=;Newtonsoft.Json;   publicKeyToken=;30AD4FE6B2A6AEED; culture=;neutral;/>
        <bindingRedirect oldVersion=;0.0.0.0-6.0.0.0; newVersion=;6.0.0.0;/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

vs2010

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!