在新版本的BeetleX.FastHttpApi
加入了對netstandard2.0
支持,若是程序基於.NetFramework4.6.1來構建WinForm或WPF桌面程序的狀況下能夠直接把BeetleX的HTTP嵌入到程序中,輕易就能實現一個本地化的HTTP服務並提供靜態資源和WebAPI的調用處理;如下簡單地介紹在WinForm/WPF引入BeetleX.FastHttpApi
的HTTP服務。javascript
組件在1.4.5.8
版本後加入了對netstandard2.0
的支持,只須要在Nuget上添加這個或更高版的BeetleX.FastHttpApi
便可css
只須要幾行代碼便可在程序中添加HTTP服務html
private BeetleX.FastHttpApi.HttpApiServer mHttpApiServer; private void Form1_Load(object sender, EventArgs e) { SetIE(); mHttpApiServer = new BeetleX.FastHttpApi.HttpApiServer(); mHttpApiServer.Register(typeof(Form1).Assembly); mHttpApiServer.Open(); }
構建一個HttpApiServer對象,而後把當前程序集註冊到服務中便可完成。vue
"HttpConfig": { "Host": "", "Port": 12345, "SSL": false, "CertificateFile": "", "CertificatePassword": "", "MaxBodyLength": 20097152, "OutputStackTrace": true, "StaticResurceType": "xml;svg;woff;woff2;jpg;jpeg;gif;png;js;html;htm;css;txt;ico;zip;rar", "DefaultPage": "index.html;index.htm", "NotLoadFolder": "\\Files;\\Images;\\Data", "NoGzipFiles": "xml;svg;woff;woff2;jpg;jpeg;gif;png;js;html;htm;css;txt;ico;zip;rar", "CacheFiles": "", "BufferSize": 8192, "WebSocketMaxRPS": 2000, "WriteLog": true, "LogToConsole": true, "LogLevel": "Warring" }
默認配置是在端口12345上開啓http
和websocket
服務;運行程序後能夠經過瀏覽器訪問http://localhost:12345
便可訪問服務。不過更多狀況是程序內嵌一個webBrowser打開,這樣便可徹底使用html+css+js來構建一個本地UI程序了。java
組件經過目錄名來約束資源存儲位置,全部資源必須存放在程序的views目錄下git
靜態文件屬性設置成嵌入程序或編譯複製的方式進行發佈,程序能夠在webBrowser設置服務地址便可打開網頁,效果以下:github
經過這種集成方式WinForm/WPF就徹底能夠用html+css+vue等這些功能進行windows程序UI開發。web
若是使用內嵌的http+html+css+vue作桌面應用開發,那必然也須要有數據交互的接口;接下來簡單地定義一個接口讓javascript訪問ajax
[Controller] public class WebAction { public object GetStarted(string email) { return new TextResult($"{email} {DateTime.Now}"); } }
只須要在項目中簡單地添加一個控制器便可,以上GetStarted
訪問的訪問路徑是/GetStarted
;經過ajax在頁面調用的腳本windows
function GetStarted(email) { $.get('/GetStarted?email=' + email, function (result) { alert(result); }); }
以上是WinForm/WPF內嵌BeetleX構建的一個桌面應用,是否是感受很簡單?若是你對Beetlex感興趣能夠關注 https://github.com/IKende/FastHttpApi
https://github.com/IKende/FastHttpApi/tree/master/samples/WinWebSample