目录:
创建单元测试
添加用于生产dll的类库
创建项目工程
项目工程入口配置
WebApiConfig路由配置
系统启动监听
推荐学习文章记录:
https://www.cnblogs.com/liunlls/p/aspnetmvc_gettingstarted.html
创建单元测试
1.随便创一个类:
namespace TestSqlProject.uniteTest
{
public class Test
{
public static void myTest() {
}
}
}
2.右键创建单元测试
2.运行测试
3.查看结果,点击输出查看打印输出
添加用于生产dll的类库
右击—生产—新建项目–选择类库
创建web项目工程
创建
右击移除:
新建解决方案文件夹:
添加web站点:
如果不选WebApi,比如选的是MVC,WebApiConfig需要自己手动加进去才行
添加model:
如何添加引用model:
使用:
项目工程入口配置
App_Start 文件夹里有如下文件:
AuthConfig.cs:
Related to security settings, including sites for OAuth login.
关于安全设置,包含网站的授权登录。
BundleConfig.cs:
Related to register bundles for the bundling and minification
有关用于捆绑和微小的注册捆
FilterConfig.cs:
To register global MVC filters.(by default HandleErrorAttribute is registered)
用来注册全局MVC过滤。(默认HandleErrorAttribute是已注册的)
RouteConfig.cs:
Related to MVC Route configuration
有关MVC路由的配置
WebApiConfig.cs:
Used to register Web API routes and configuration settings.
用于注册Web API路由和配置设置。
WebApiConfig路由配置
在App_Start文件夹下面的WebApiConfig,默认路由配置为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace testAPI
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
// 将 Web API 配置为仅使用不记名令牌身份验证。
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
这里的请求规则是,api+controller名称+id(参数可选)
添加一个api控制器:
生成:
运行项目:
浏览器输入地址进行get请求访问即可:
如果要返回json数据,可以通过以下代码,对对象进行json序列表处理:
public static HttpResponseMessage toJson(Object obj)
{
String str;
if (obj is String || obj is Char)
{
str = obj.ToString();
}
else
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
str = serializer.Serialize(obj);
}
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
封装对象:
public class AppHttpResponse
{
private String message;
private String data;
public string Message
{
get
{
return message;
}
set
{
message = value;
}
}
public string Data
{
get
{
return data;
}
set
{
data = value;
}
}
}
}
使用:
// GET: api/test
public HttpResponseMessage Get()
{
AppHttpResponse r = new AppHttpResponse();
r.Data = "from server";
r.Message = "success";
return toJson(r);
}
浏览器访问效果:
系统启动监听
在Application_Start里监听应用启动,然后添加一些注册事件