目錄:
創建單元測試
添加用於生產dll的類庫
創建項目工程
項目工程入口配置
WebApiConfig路由配置
系統啓動監聽
創建單元測試
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裏監聽應用啓動,然後添加一些註冊事件