データベースから取得したユーザー定義の匿名の JavaScript 関数を、ASP.Net アプリケーションのコンテキストでサーバー側で実行する必要がある機能に取り組んでいます。
この目的のためにJintを評価しています(NuGetの最新バージョン)。以下のように、基本的な操作を実行して値を返す関数を問題なく実行できました。
public void Do()
{
var jint = new Engine();
var add = jint.Execute(@"var f = " + GetJsFunction()).GetValue("f");
var value = add.Invoke(5, 4);
Console.Write("Result: " + value);
}
private string GetJsFunction()
{
return "function (x,y) {" +
" return x+y;" +
"}";
}
私の質問は、Jint が lodash のようなサードパーティのライブラリを使用する JavaScript 関数の実行を容易にするかどうかです。もしそうなら、Jintエンジンにそれを認識させるにはどうすればよいですか(つまり、サードパーティのライブラリ)?
例として、次の関数の実行があります。
private string GetFunction()
{
return "function (valueJson) { " +
" var value = JSON.parse(valueJson);" +
" var poi = _.find(value,{'Name' : 'Mike'});" +
" return poi; " +
"}";
}
よろしくお願いします。