Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在客户端和服务器端调用相同的方法_C#_Javascript_Asp.net_Ajax - Fatal编程技术网

C# 在客户端和服务器端调用相同的方法

C# 在客户端和服务器端调用相同的方法,c#,javascript,asp.net,ajax,C#,Javascript,Asp.net,Ajax,我的页面中有一个复杂的计算,我想在客户端和服务器端都执行它。为了便于维护,我更喜欢编写一个函数并在客户机和服务器中调用它 因此,我正在寻找一种方法,可以在C#code behind中调用javascript函数,或者其他可以满足需求的方法。我想到了一个基于服务的函数,我用ajax在客户端和服务器中将其称为一个简单的函数;然而,很明显,它在客户机中的工作速度会稍慢,因为它应该转到服务器并返回 有什么想法吗 您可以在服务器上执行计算并将其发送回客户机,以完成客户机上的其余部分,或者执行ajax调用(

我的页面中有一个复杂的计算,我想在客户端和服务器端都执行它。为了便于维护,我更喜欢编写一个函数并在客户机和服务器中调用它

因此,我正在寻找一种方法,可以在C#code behind中调用javascript函数,或者其他可以满足需求的方法。我想到了一个基于服务的函数,我用ajax在客户端和服务器中将其称为一个简单的函数;然而,很明显,它在客户机中的工作速度会稍慢,因为它应该转到服务器并返回


有什么想法吗

您可以在服务器上执行计算并将其发送回客户机,以完成客户机上的其余部分,或者执行ajax调用(在客户机上显示加载面板)并返回回调结果


如果你能提供更多的细节,你会得到更好的帮助。

正如我在评论中所说的,我可以想到你在这里有三个选择

  • 使用ajax调用从控制器获取结果(仅限于服务器端计算)
  • 使用回发,这与上面的选项基本相同
  • 使用像Jint这样的Javascript解释器在服务器端执行同一段Javascript
我认为前两种方法更可取,但如果你真的不想打电话或回邮,第三种方法可能是一种解决方案。这将导致客户端代码计算自己的结果,而服务器端也可以这样做。相同的代码,相同的结果,没有从客户端到服务器端的调用


NET的流行Javascript解释器可能就是一个例子,它已经证明了它的稳定性和性能。您可能想查看它。

不确定这在没有回发或ajax调用的情况下是否可行。。。另一种方法是用Javascript编写代码供客户端使用,然后使用Javascript解释器服务器端。但是我不确定我会更喜欢这个,而不是ajax调用,但是我相信如果你不介意额外的依赖性,它会更快。hmmm客户端理解html、css、js服务器端它理解真正的编程语言,所以不,使用ajax。或者使用javascript计算所需的内容,并通过ajax发送结果以在服务器端进行比较。您可以使用node.js作为服务器环境,然后相同的javascript计算代码可以在客户端和服务器上以相同的语言(javascript)运行。但是,通常情况下,您会在服务器上进行计算,然后通过ajax从浏览器中获取结果。那么web workers和服务器上的无计算呢?Jint,它是完美的,是满足我需求的一个很好的解决方案。非常感谢。很高兴能帮上忙!:)