日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第六节:WebApi的部署方式(自托管)

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第六节:WebApi的部署方式(自托管) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 簡單說明

?  開篇就介紹過WebApi和MVC相比,其中優勢之一就是WebApi可以不依賴于IIS部署,可以自托管,當然這里指的是 .Net FrameWork 下的 WebApi 和 MVC 相比較,在.Net Core下,當然就另行別論。

  下面我們重點介紹的就是WebApi基于控制臺程序進行部署。

1. 安裝程序集

  通過Nuget添加程序集:Microsoft.AspNet.WebApi 和 System.Web.Http.SelfHost。

2. 新建一個WebApi的控制器,里面有一個CheckLogin的Get方法。

?代碼如下:

1 public class ForthController : ApiController2 {3 //Get http://localhost:1234/api/Forth/CheckLogin?userName=admin&pwd=1234564 [HttpGet]5 public string CheckLogin(string userName, string pwd)6 {7 if (userName == "admin" && pwd == "123456")8 {9 return "ok"; 10 } 11 else 12 { 13 return "error"; 14 } 15 } 16 }

3. 編寫部署代碼

  包括端口設定,路由規則的配置,啟動和關閉,代碼如下:

1 class Program2 {3 static void Main(string[] args)4 {5 try6 {7 var config = new HttpSelfHostConfiguration("http://localhost:1234");8 config.Routes.MapHttpRoute(name: "DefaultApi",9 routeTemplate: "api/{controller}/{action}/{id}", 10 defaults: new { id = RouteParameter.Optional }); 11 using (var sever = new HttpSelfHostServer(config)) 12 { 13 sever.OpenAsync().Wait(); 14 Console.WriteLine("服務已經成功啟動"); 15 Console.WriteLine("輸入任意字符關閉"); 16 Console.Read(); 17 sever.CloseAsync().Wait(); 18 19 } 20 } 21 catch (Exception ex) 22 { 23 Console.WriteLine(ex.Message); 24 } 25 Console.ReadKey(); 26 } 27 }

  特別注意:不能直接在VS里啟動,會報權限不夠的錯誤,正確的使用放在,在Bin文件里,找到Exe程序,以管理員的身份啟動即可。

?4. 啟動exe程序,然后用PostMan進行測試:http://localhost:1234/api/Forth/CheckLogin?userName=admin&pwd=123456,正常訪問,結果如下:

總結

以上是生活随笔為你收集整理的第六节:WebApi的部署方式(自托管)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。