webapi------宿主程序
生活随笔
收集整理的這篇文章主要介紹了
webapi------宿主程序
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
業(yè)務(wù)場景:
公司的容器程序需要給前端暴露接口但是代碼里面又不想寫webapi項目工程就用到了宿主可以達到webapi的效果
1、owin實現(xiàn)
2、其他實現(xiàn)
?測試實現(xiàn)如下
1、新建一個控制臺程序
2、新建一個Controller文件并繼承ApiController
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Http;namespace ConsoleApplication1 {public class BlahController : ApiController{[HttpGet]public string Date(){return DateTime.Today.ToString("yyyy/MM/dd");}} }3、實現(xiàn)調(diào)用
3.1實現(xiàn)調(diào)用一
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Web.Http; using System.Web.Http.SelfHost;namespace ConsoleApplication1 {class Program{ static void Main(string[] args){ #region http://localhost:9001/Blah/Date//指定URLvar config = new HttpSelfHostConfiguration("http://localhost:9001");//設(shè)定路由config.Routes.MapHttpRoute("API", "{controller}/{action}/{id}", new { id = RouteParameter.Optional });using (var httpServer = new HttpSelfHostServer(config)){//OpenAsync()屬非同步呼叫,加上Wait()則等待開啟完成才往下執(zhí)行 httpServer.OpenAsync().Wait();Console.WriteLine("Web API host started...");string line = null;do{line = Console.ReadLine();}while (line != "exit");//結(jié)束鏈接 httpServer.CloseAsync().Wait();}#endregion}} }3.2實現(xiàn)調(diào)用二
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Web.Http; using System.Web.Http.SelfHost;namespace ConsoleApplication1 {class Program{ static void Main(string[] args){#region http://localhost:9001/api/Blah/DateHttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost:9001");config.Routes.MapHttpRoute(name: "API",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional });using (HttpSelfHostServer server = new HttpSelfHostServer(config)){server.OpenAsync().Wait();Console.WriteLine("Web API is started now");Console.ReadLine();}#endregion}} }?
轉(zhuǎn)載于:https://www.cnblogs.com/macT/p/11183539.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的webapi------宿主程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftp服务的安装
- 下一篇: P1832 A+B Problem(再升