2009-08-22 86 views
1

有时为了让我们的应用程序更快速响应,我们使用客户端JS。将C#服务器逻辑移植到客户端JS的最佳实践?

有没有任何有效移植C#代码到JS的最佳实践? 东西来我的脑海中:
- 参数化脚本
- 生成脚本
- 动态或静态脚本链接
- 典型案例为验证通常的解决方法。
- 同步修改,
- 准备什么时候加倍逻辑,什么时候只有客户端或只有服务器方式。

在此先感谢。 UPD。我大多不问工具 - 但是关于模式。我已经准备好一点一滴地写作,但是如果存在的话,还是要关注一般规则。

回答

2

这是目前尚未解决的问题。你要么必须做两次(一次在javascript和第二次在服务器上)

  • 你可以在Silverlight中重写应用程序

    或...(这样你就可以重复使用相同的类客户端和服务器)

  • ,如果你不想在Silverlight重写,你仍然可以使用WEB浏览器和互操作与HTML的Silverlight插件的运行.NET代码,但是这真的邪恶,可能会也慢
  • 使用script#到将你的C#代码转换为javascript(不受支持)
  • 使用jsc(类似于脚本#但转换MSIL而不是C#)
  • 项目Volta(微软对GWT的回答),但它可能已经死了,因为silverlight更适合微软的计划。

它看起来像你有很多选择,但这些解决方案都不够好,许多只是很棘手的实现而不会遇到问题。我只是推荐在必要的时候手工编写javascript代码 - 我知道这不是你正在寻找的答案,因为我们都想遵循规则“一次又一次”,但有时候这是不可能的。

+0

有很多很好的选择! – Chris 2009-08-24 00:53:58

0

对于你的要点'标准什么时候加倍逻辑,什么时候只有客户端或只有服务器的方式',我会做这个事情,如验证。在客户端上执行一次,这样用户就可以获得即时反馈,还可以在服务器上执行此操作,以确保其安全并满足没有JavaScript的用户的需求。

0

将C#代码移植到JavaScript的一个选择是使用Script#,它是C#到JavaScript的交叉编译器。

这就是说我不喜欢JavaScript中有很多业务逻辑,因为你冒着被盗用的商业逻辑(即如果有人使用JS调试器跳过了)。如果JavaScript被关闭,它也会造成问题。

相关问题