ASP.NET Web API 2 项目教程
1. 项目的目录结构及介绍
apress-recipes-webapi/
├── src/
│ ├── Recipes.Api/
│ │ ├── Controllers/
│ │ ├── Models/
│ │ ├── App_Start/
│ │ ├── Global.asax
│ │ ├── Web.config
│ │ ├── Startup.cs
│ │ └── ...
│ ├── Recipes.Core/
│ │ ├── Entities/
│ │ ├── Services/
│ │ └── ...
│ ├── Recipes.Data/
│ │ ├── Repositories/
│ │ └── ...
│ └── ...
├── tests/
│ ├── Recipes.Api.Tests/
│ ├── Recipes.Core.Tests/
│ └── ...
└── README.md
目录结构介绍
- src/: 包含项目的源代码。
- Recipes.Api/: Web API 项目,包含控制器、模型、配置文件等。
- Recipes.Core/: 核心业务逻辑层,包含实体和服务。
- Recipes.Data/: 数据访问层,包含仓储接口和实现。
- tests/: 包含项目的单元测试。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
Global.asax
Global.asax
文件是 ASP.NET 应用程序的入口点,负责初始化应用程序级别的事件和配置。
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Startup.cs
Startup.cs
文件是 ASP.NET Web API 2 的启动配置文件,负责配置依赖注入、路由等。
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseWebApi(config);
}
}
3. 项目的配置文件介绍
Web.config
Web.config
文件是 ASP.NET 应用程序的配置文件,包含数据库连接字符串、应用程序设置等。
<configuration>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=RecipesDb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="webApiBaseUrl" value="http://localhost:5000" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
</configuration>
App_Start/WebApiConfig.cs
WebApiConfig.cs
文件负责配置 Web API 的路由和格式化器。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
以上是 ASP.NET Web API 2 项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。