2017-04-10 7 views
0

ASP.NET MVC5アプリケーションで次のコントローラ関数を書いて、R関数sum()を使用して2つのユーザー定義入力の合計を返しました。これは正常にコンパイルされますが、出力はありません。 ajax関数が失敗しているため、500(内部サーバーエラー)が発生しています。エラーを与えるユーザー定義の入力を2つ追加するRDotNet関数

誰でも私が間違っている場所を教えてください。

public JsonResult Sum(int? Text1,int? Text2) 
{ 
    REngine.SetEnvironmentVariables(); // 
    REngine engine = REngine.GetInstance(); 

    return Json(engine.Evaluate("function(Text1,Text2) 
    {sum(Text1,Text2)}").AsFunction(), JsonRequestBehavior.AllowGet); 
} 
+0

投稿する必要があるエラーは何ですか? –

+0

私は自分自身で問題を解決しました。コントローラ関数の正しいコードスニペットは、次のとおりです。 var mySum = engine.Evaluate( "function(x、y){return (x + y)}")。AsFunction(); var v = engine.CreateInteger(Text1); var u = engine.CreateInteger(Text2);var sum1 = mySum.Invoke(新しいSymbolicExpression [] {u、v})。AsInteger(); return Json(sum1、JsonRequestBehavior.AllowGet); } –

+0

素晴らしい!あなたがそのurselfを解決したことを知ってうれしい。 –

答えて

0

私はこの問題を自分で解決しました。次のようにコントローラ機能のための正しいコードスニペットは、次のとおりです。

var mySum = engine.Evaluate("function(x,y){return (x+y)}").AsFunction(); 
var v = engine.CreateInteger(Text1); 
var u = engine.CreateInteger(Text2); 
var sum1 = mySum.Invoke(new SymbolicExpression[] { u, v }).AsInteger();  
return Json(sum1, JsonRequestBehavior.AllowGet); } 

あなたの多くはrdotnetアプリケーションのサンプルコードを求めて私にメッセージとして送られるので、私は私のブログについての説明とサンプルコード公開しています wordpress.com/post/pheonix116s.wordpress.com/169

皆さんが役に立ったら嬉しいです。

関連する問題