C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)
作者:作者不详  发布日期:2020/02/17 18:12:28
  C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)

C# ASP.NET WebApi服务器搭建详解 - IIS服务承载(IIS Hosting IIS宿主)


C# ASP.NET WebApi服务器搭建操作步骤:

1. 创建VS解决方案,首先讲解基于IIS服务承载(IIS Hosting IIS宿主)的WebApi服务器。

下图为本示例完整解决方案。

贴图图片-ASPNETWebApi服务器搭建详解

2. 在VS内添加新项目,选择ASP.NET Web应用程序。

输入项目名称:CSFramework.WebAPI.Demo.IISHosting


贴图图片-ASPNETWebApi服务器搭建详解1


3. ASP.NET 模板,选择Empty空模板。

贴图图片-ASPNETWebApi服务器搭建详解2

4. 在新建项目Project右键添加全局应用程序类 Global.asax文件。

贴图图片-ASPNETWebApi服务器搭建详解4


贴图图片-ASPNETWebApi服务器搭建详解3


贴图图片-ASPNETWebApi服务器搭建详解5


打开Global.asax文件,Application_Start时间输入以下源码:

C# Code:

protected void Application_Start(object sender, EventArgs e)
{
   // 在应用程序启动时运行的代码
   System.Web.Mvc.AreaRegistration.RegisterAllAreas();
   System.Web.Http.GlobalConfiguration.Configure(WebApiConfig.Register);
   RouteConfig.RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}

//来源:C/S框架网(www.csframework.com) QQ:23404761



5. 在Project CSFramework.WebAPI.Demo.IISHosting 右键,管理NuGet程序包,添加以下包:


<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.AspNet.Mvc" version="5.2.7" targetFramework="net452" />
  <package id="Microsoft.AspNet.Razor" version="3.2.7" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.2.7" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.Core" version="5.2.7" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.7" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.7" targetFramework="net452" />
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" />
  <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net452" developmentDependency="true" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
  <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net452" />
</packages>

packages.config 文件内容:

贴图图片-ASPNETWebApi服务器搭建详解6


6. 修改生成输出目录,改为【..\debug】

VS解决方案所有项目(Project)都统一改为【..\debug】,方便管理程序文件,以及部署和发布。


贴图图片-ASPNETWebApi服务器搭建详解7

7. 创建CSFramework.WebAPI.Demo.Core 类库项目


在VS解决方案添加类库项目(DLL文件类库),省略。。。。


8. 添加WebApi配置(WebApi路由以及JSON序列化配置)

C# Code:

public class WebApiConfig
{
   public static void Register(HttpConfiguration config)
   {
      // Web API 配置和服务
      var cors = new EnableCorsAttribute("*", "*", "*");
      config.EnableCors(cors);
      
      // Web API 路由
      config.MapHttpAttributeRoutes();
      config.Routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional }
      );
      
      GlobalConfiguration.Configuration.Formatters.Insert(0, new PlainTextTypeFormatter());
      
      config.Formatters.Remove(config.Formatters.XmlFormatter);
      
      // 解决json序列化时的循环引用问题
      config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
      
      // 对 JSON 数据使用混合大小写。驼峰式,但是是javascript 首字母小写形式.
      //config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
      // 对 JSON 数据使用混合大小写。跟属性名同样的大小.输出
      config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new UnderlineSplitContractResolver();
   }
}

//来源:C/S框架网(www.csframework.com) QQ:23404761



C# Code:

public class RouteConfig
{
   public static void RegisterRoutes(RouteCollection routes)
   {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      
      //routes.MapRoute(
      // name: "Default",
      // url: "api/{controller}/{id}",
      // defaults: new { id = UrlParameter.Optional }
      //);
   }
}

//来源:C/S框架网(www.csframework.com) QQ:23404761



9. 添加控制器,开发API接口


C# Code:

[RoutePrefix("api/demo")]
public class DemoController : ApiController
{
   [HttpGet]
   [Route("get")]
   public IEnumerable<string> Get()
   {
      return new string[]
      {
         "CSFramework.WebAPI.Demo",
         "www.csframework.com - C/S框架网",
         "www.cscode.net - C/S框架网",
         "CSFramework.WebAPI.Demo WebApi服务器作者:孙中吕"
         };
      }
      
      [HttpGet]
      [Route("get1")]
      public string Get(int id)
      {
         return "CSFramework.WebAPI.Demo,GET返回结果:\r\n" + id.ToString();
      }
      
      [HttpPost]
      [Route("post")]
      public string Post(dynamic modelObject)
      {
         return "CSFramework.WebAPI.Demo,Post返回结果:\r\n" + modelObject.ToString();
      }
   }
   
   //来源:C/S框架网(www.csframework.com) QQ:23404761
   

10. CSFramework.WebAPI.Demo.Core项目网站目录结构

贴图图片-ASPNETWebApi服务器搭建详解8


11. 修改生成输出目录,改为【..\debug】


12. 将CSFramework.WebAPI.Demo.IISHosting项目设为启动项目,按F5运行


贴图图片-ASPNETWebApi服务器搭建详解9

13. URL输入:http://localhost:20891/api/demo/get,测试GET API方法:

贴图图片-ASPNETWebApi服务器搭建详解10


....本文完....



.NET WebApi开发框架|MVC框架|后端框架|服务端框架-标准版V1.0

适用开发 适用开发:快速构建支持多种客户端的服务端程序,支持APP、B/S、C/S跨平台移动终端等。
运行平台 运行平台:Windows + .NET Framework 4.5
开发工具 开发工具:Visual Studio 2015+,C#语言
数据库 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

WebApi服务端开发框架



CSFramework.WebApi产品介绍:

 CSFramework.WebApi是服务端快速开发框架(后端框架),借助ASP.NET WebAPI底层架构的强大编程能力,封装成为可复用的以及可定制开发的服务端软件模板,CSFramework.WebApi提供可复用的软件架构和开发包,为用户快速轻松搭建基于HTTP协议、HTTPS协议以及支持多种客户端(如:APP、B/S、C/S、微信公众号、微信小程序等)各种跨平台移动终端的服务端应用程序。

    服务端应用开发、后端接口开发是软件项目重要工作环节,服务端注重业务逻辑、数据处理和数据分析、算法等方面的设计和服务,前端主要体现在用户体验、界面操作和数据采集方面。前端软件系统和后端服务架构共同搭建跨平台大型数据管理应用系统。


C/S框架网|www.csframework.com|Winform快速开发框架成功案例


CSFramework.WebAPI服务端开发框架成功案例

C#.NET webapi开发框架成功案例-私蜜管家APP项目截图
http://www.csframework.com/archive/1/arc-1-20181018-2483.htm

 

C#.NET webapi开发框架成功案例-智运天下TMS系统APP项目截图
http://www.csframework.com/archive/1/arc-1-20181018-2484.htm

 

CSFramework webapi服务端框架成功案例-建行底层支付系统+i蜜书收银助手客户端
http://www.csframework.com/archive/1/arc-1-20190928-2649.htm

 

CSFramework webapi服务端框架开发微信支付接口成功案例
http://www.csframework.com/archive/1/arc-1-20190928-2651.htm

 

webapi开发框架成功案例:车货匹配类微信小程序
http://www.csframework.com/archive/1/arc-1-20191111-2666.htm

 

webapi服务端开发框架成功案例-对接三方支付平台连连支付C#.NET
http://www.csframework.com/archive/1/arc-1-20200103-2686.htm

 

C#.NET webapi开发框架成功案例-物流行业TMS系统+APP+微信小程序
http://www.csframework.com/archive/1/arc-1-20200103-2687.htm

 

C#.NET webapi开发框架成功案例-物流行业系统对接|满帮集团|中交兴路|福佑卡车
http://www.csframework.com/archive/1/arc-1-20200104-2688.htm

 

webapi开发框架应用电商微信小程序成功案例
http://www.csframework.com/archive/1/arc-1-20191219-2679.htm



更多成功案例(C/S框架网文库)




扫一扫加微信:
 


上一篇 下一篇