跨越Javascript和C#的类库的设计策略

时间:2009-05-28 20:57:29

标签: client-side server-side class-library

我正在实现一些在客户端和服务器端都具有相同丰富程度的对象。

在这个特殊情况下,我将构建一个(希望)小类库来处理搜索令牌。因此,作为一个伪代码示例,我希望能够在Javascript和服务器上执行以下等效操作(在我的情况下为C#)。

s = new SearchTokenList();
s.Add(new SearchToken(field, value, negation));

哪些设计策略有助于避免为必须跨越C#和Javascript的库创建大量泥浆?

更新:寻找更多策略而不是力学。但我会从以前做过类似事情的人那里得到任何指导。

4 个答案:

答案 0 :(得分:3)

看看Nikhil Kothari的剧本#,可能会帮助你。它是一个C#到JavaScript编译器。

答案 1 :(得分:3)

我认为你应该在http://jsc.sourceforge.net/

查看我的C#到JavaScript编译器

与Script#不同,我的jsc编译器可以在MSIL级别上运行。

WPF示例:AvalonExampleGallery alt text

如果您有任何具体问题,请与我联系。

答案 2 :(得分:1)

如果性能不重要,您可以使用JSON或XML加载数据并将其传递回服务器端并进行处理。我认为WCF可以生成开箱即用的JavaScript界面​​。请参阅.NET by Example: Calling a WCF service from Javascript

答案 3 :(得分:0)

您应该能够使用Microsoft的JScript.NET在您的.NET服务器上运行一些Javascript代码 - 使用/target:library编译它并确保它符合CLS并且您使用

[assembly:System.CLSCompliant(true)]

CLS compliance declarations的其他变体。一旦你完成了这个工作,你就可以在服务器(从C#调用它)和客户端(从其他JS调用它)上运行(一些)JS代码,并且更容易确保双方的功能相同。 / p>