使用asp.net的来开发WebApi可以达到事半功倍的效果,而一般的xxxxController是放到Controller文件夹下的,如果需要进行不同的业务层的划分则不好处理,因为所以有controller都会编译到同一命名空间下,无法再细分。那有没有其他的方法可以实现呢?
可以的!
我们可以通过area来实现。
步骤1:
新建一个web的空项目,然后打开nuget项目,搜索WebApiTestClient,然后安装。安装之后将Microsoft.AspNet.WebApi.HelpPage升级到较新的稳定版,具体与所选的.net框架要匹配,建议使用.net4.5及以上,如果是.net4.0会有各种错误,解决起来很麻烦。升级时,最后会提示是否覆盖,选择全部覆盖即可。
经过这样的处理之后,再添加一个Global.asax,然后在Application_Start函数中加入代码,具体如下
public class Global : System.Web.HttpApplication
{
/// <summary>
/// 程序开始
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
其中AreaRegistration.RegisterAllReas()是将所有的area都注册起来,WebApiConfig.Register的代码如下
/// <summary>
/// webapi的配置
/// </summary>
public static class WebApiConfig
{
/// <summary>
/// 注册
/// </summary>
/// <param name="config"></param>
public static void Register(HttpConfiguration config)
{