美文网首页
搭建webapi2 Owin环境

搭建webapi2 Owin环境

作者: 黄咕咕鸡 | 来源:发表于2017-01-12 14:39 被阅读0次

搭建环境以及基本配置

  1. 首先创建一个空白Web App 项目.就是选Empty那个,记得不要勾host on cloud/云托管
  2. 然后通过nuget安装下面packages.config内容.
  <package id="EntityFramework" version="6.1.3" targetFramework="net452" />
  <package id="Microsoft.AspNet.Cors" version="5.0.0" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
  <package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" />
  <package id="Microsoft.Owin.Cors" version="3.0.1" targetFramework="net452" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net452" />
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
  <package id="Owin" version="1.0" targetFramework="net452" />
  1. 接着配置Startup.cs,初始化WebApi
        var config = new HttpConfiguration();
        config.MapHttpAttributeRoutes();//开启标注路由
        config.Services.Replace(typeof(IContentNegotiator), new JsonFirstContentNegotiator());//内容协商为jsonFirst,这样,默认使用Json,但是又不影响其他格式.
        app.UseWebApi(config);//go
        //其他Owin中间件相关知识,参考MSDN
    public class JsonFirstContentNegotiator : DefaultContentNegotiator
    {
        private readonly JsonMediaTypeFormatter _jsonFormatter;

        public JsonFirstContentNegotiator(bool indented = true, bool camelcase = true)
        {
            _jsonFormatter = new JsonMediaTypeFormatter();
            var serializerSettings = _jsonFormatter.SerializerSettings;
            if (indented)
                serializerSettings.Formatting = Formatting.Indented;
            if (!camelcase)
                return;
            serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        }

        protected override MediaTypeFormatterMatch SelectResponseMediaTypeFormatter(ICollection<MediaTypeFormatterMatch> matches)
        {
            return matches.FirstOrDefault(m => m.Formatter is JsonMediaTypeFormatter) ?? base.SelectResponseMediaTypeFormatter(matches);
        }
    }
  1. 接着可以输出Hello World了,IndexController.cs
    public class IndexController : ApiController
    {
        [HttpGet]
        [Route()]
        public string HelloWorld()
        {
            return "HelloWorld";
        }

        [HttpGet]
        [Route("objectInfo")]
        public Dto GetObjInfo()
        {
            return new Dto{
                Name = "songtin.huang",
                Age = 24
            }//根据前面配置的JsonFirstContentNegotiator,WebApi会自动返回json对象
        }
    }
    public class Dto
    {
        public string Name{get;set;}
        public int Age{get;set;}
    }

相关文章

  • 搭建webapi2 Owin环境

    搭建环境以及基本配置 首先创建一个空白Web App 项目.就是选Empty那个,记得不要勾host on clo...

  • OWIN环境扩展

    layout: docs-default OWIN 环境扩展 IdentityServer3也提供了OWIN环境(...

  • OWIN与Web Api基础

    OWIN基础 OWIN是啥? OWIN 层次 以及 流程 大致Owin分为以下几个层: Server 这个是直接与...

  • Owin介绍

    什么是OWIN? OWIN的英文全称是Open Web Interface for .NET。 如果仅从名称上解析...

  • ABP CORS

    1.owin cors在web项目引入 nuget包:Microsoft.Owin.Cors,找到 web项目ap...

  • React Native学习总结篇

    一、环境搭建 1.1 React Native环境搭建 1.1.1 IOS环境搭建 环境:MacOS 注意:不要使...

  • linux 第四天

    Lamp环境搭建 /*******************Lamp环境搭建:*******************...

  • codePush说明

    codePush环境搭建 环境搭建文章:环境搭建 git地址:codePush git地址2.0.3,And...

  • angular学习--02英雄指南

    环境搭建 angular官网--搭建本地开发环境和工作空间windows 10 搭建angular开发环境免搭建环...

  • Gradle开发-Groovy环境搭建

    ##Groovy环境搭建 在使用 Groovy 之前首先要搭建几个环境: Groovy 的环境搭建 JDK 环境搭...

网友评论

      本文标题:搭建webapi2 Owin环境

      本文链接:https://www.haomeiwen.com/subject/sjwdbttx.html