我有一个包含C#和JavaScript使用的对象的库。有几个对象,我们称其中一个为Foo,在C#和JavaScript中使用相同的基本实现。当我想将这种类型的对象从服务器传输到浏览器时,我只需调用Foo.ToJson()将该对象序列化为JSON,然后使用安全的eval()操作在浏览器端恢复该对象。 p>
这一切都很好,但是库变得越来越复杂,并且保持JavaScript和C#代码库同步的需求变得越来越困难且容易出错。我对简化这种架构或使其易于维护的想法很感兴趣。想法?
答案 0 :(得分:3)
您可以使用脚本#:http://projects.nikhilk.net/ScriptSharp
查看由于您的类都是用C#编码的,因此您可以为服务器和客户端项目重用相同的.cs文件。这样,当你进行更改时,它会自动编译成javascript: - )
答案 1 :(得分:2)
您是否考虑过将“共享代码”转换为Web服务,这样您的任何应用程序都可以访问它,并且您可以将所有内容分发以帮助提高性能。
只需一个解决方案。
答案 2 :(得分:1)
答案 3 :(得分:1)
使用DTO。数据传输对象。
这样,如果您的JScript或C#对象发生更改,您的DTO不一定要更改,除非客户端立即需要该属性。即使在那时,你也可以清楚地分离出什么是序列化的,什么不是。