WebAPI开发注意事项

  1. 运行项目前请启动“ASP.NET 状态服务”或“ASP.NET State Service”服务

    如果不想启动此服务,可注释web.config文件中以下配置信息

      <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="UseCookies" timeout="120" />
    
    1
  2. 使用vs2015打开项目运行时,如果出现以下错误:

    未能加载文件或程序集"System.Web.Http.WebHost,Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"或它的某一个倚赖项。系统找不到指定文件。

    打开Nuget程序包管理 —》程序包管理控制台,选择Usung.App项目运行以下命令重新编译即可: Update-Package Microsoft.AspNet.WebApi -reinstall

  3. 目录说明:

  • WiYun.App 网站和Web应用程序项目目录(不包含任何csharp代码)
  • Ems.Api 能源管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
  • Wms.Api 仓储管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
  • Pdm.Api 产品研发管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
  1. 编码开发相关说明

    WebApi开发说明:

    WebApi Controller类名 必须以ApiController结束,且命名空间前缀为WiYun(支持配置) WebApi方法名不允许包含下划线 WebApi方法名前缀约束(不区分大小写,支持配置): GET,PUT,DELETE,POST,NEW,EDIT,UPDATE,AUDIT,EXPORT,IMPORT,DOWNLOAD,CHECK,PRINT,LOGIN,LOGOUT,CHANGE,CANCEL,REGISTER

    带页面展现的使用asp.net mvc+razor视图模板, 自定义Contoller继承WiYun.ControllerBase [不带页面展现]负责业务逻辑处理的使用WebAPI 自定义Controller继承WiYun.ApiControllerBase

    数据访问类库说明[类库默认构造函数使用的是default数据库配置连接串]: 平台内置 FluentData, NPoco两个第三方micro Orm开源类库

    NPoco 文档地址https://github.com/schotime/NPoco/wiki

Bug记录:

​ 2016/6/23

  1. Sql对象多次调用OrderBy后,Page分页查询时,会出现某些OrderBy列没有替换完全错误,导致生成SQL语句不正确。所以如果存在分页查询时,db对象执行的Sql 不要多次调用OrderBy方法。

2016/8/2

  1. Sql对象的in子句不能使用数组类型,需要转换成List<>类型才会展开in子句,【注意:不同的数据库对in子句有大小限制】

    FluentData: 文档地址http://fluentdata.codeplex.com/documentation