[C#][.NET Core] 設計使用 Jint 反射 dll 執行外掛程式
前幾篇文章說到了 模擬做到 XMLHttpRequest (XHR) 的效果 還有 試著在 Jint 引入其他的 .js 檔案,模擬類似 require 的效果
因為 Jint 跟 C# 的程式碼混和執行,這我們之前文章 試著用 C# 透過 Jint 執行 Javascript ,混和執行 ,已經說過了
但是畢竟你能提供的有限,有沒有可能讓有能力的客戶自己撰寫自己要的呢?
後來想一下這需求,其實我只要提供一個 interface 給有能力的客戶,然後我透過反射的方式,也就是客戶只要提供給我 Class Name
還有他的 dll 也就是我就透過反射就可以呼叫他寫的程式。
1. 制定 一個簡單的 interface ,這裡面我沒啥設計就是一個 CallResult 的 method 可以去呼叫結果,傳入的部分就是 string
2.開一個專案 DPlugin1,做一個名稱為 MD5 的 class 繼承 IDPlugin,這邊我撰寫的是一個 將字串 加入 特殊的 salt 然後轉 MD5
3. 編譯後 拿到一個 DPlugin1.dll 之後 複製到主專案中根目錄下 再來我們看看如何執行 DPlugin1.dll
其實觀念懂了不難,但是可以做到很多驚人的效果,方便佈局規劃妳的系統
完整程式碼可以到這下載:
https://github.com/donma/JintPluginSample
標籤:
.Net
,
.netcore
,
ASP.net
,
C#
,
Javascript
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...