WebAPI开发注意事项
运行项目前请启动“ASP.NET 状态服务”或“ASP.NET State Service”服务
如果不想启动此服务,可注释web.config文件中以下配置信息
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="UseCookies" timeout="120" />
1使用vs2015打开项目运行时,如果出现以下错误:
未能加载文件或程序集"System.Web.Http.WebHost,Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"或它的某一个倚赖项。系统找不到指定文件。
打开Nuget程序包管理 —》程序包管理控制台,选择Usung.App项目运行以下命令重新编译即可: Update-Package Microsoft.AspNet.WebApi -reinstall
目录说明:
- WiYun.App 网站和Web应用程序项目目录(不包含任何csharp代码)
- Ems.Api 能源管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
- Wms.Api 仓储管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
- Pdm.Api 产品研发管理默认的WebApi/Mvc后台代码项目目录(csharp代码都在此项目)
编码开发相关说明
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
- Sql对象多次调用OrderBy后,Page分页查询时,会出现某些OrderBy列没有替换完全错误,导致生成SQL语句不正确。所以如果存在分页查询时,db对象执行的Sql 不要多次调用OrderBy方法。
2016/8/2
Sql对象的in子句不能使用数组类型,需要转换成List<>类型才会展开in子句,【注意:不同的数据库对in子句有大小限制】
FluentData: 文档地址http://fluentdata.codeplex.com/documentation