构建Web UI

时间:2011-12-14 01:27:41

标签: c# asp.net .net silverlight-4.0 .net-4.0

我有一个运行的WinForms应用程序,用c#编写,它分为几个层(数据层,模型,业务逻辑,公共层等)。我想允许用户也使用Web浏览器进行数据操作。我是否需要制作某种中间层,或者使用Web表单中的业务层是否安全?此外,在Web层上应该使用什么样的MS技术,因为我看到我们可以使用经典的ASP.NET页面,Silverlight,或者其他什么?应用程序本身有几种输入数据的形式,以及许多不同形式的图表和报告。

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果不了解您现有的应用详细信息,很难提出建议。也没有一个正确的答案。 Silverlight,ASP.net(MVC),Javascript / jquery / ajax都是很有用的技术。但是,正如你自己决定的那样,这里有一些想法和事情需要考虑。

  • 厚的winform应用程序通常是具有本地状态的胖客户端。您的数据模型等......可能依赖于在较胖的本地进程中持久化多个请求的状态。
  • 一个用户通常使用厚winform应用程序&进程 - 除非您编写并发编码,否则您的应用程序可能不是线程安全的。
  • Web进程由多个发出请求的用户共享 - 任何共享状态都需要考虑并发和内存占用。
  • 您通常希望Web进程保持较少的状态并将更多的客户端体验带到客户端 - 因此在ajax,jquery等中流行...更多javascript技术。
  • Silverlight更接近您的winform进程 - 它托管在浏览器插件中,该用户可以访问状态和代码。您必须将视图图层更改为silverlight,但您可以保留模型和数据图层。
  • 在一个Silverlight插件中运行确实比完整的winform应用程序有更多的限制(沙盒)。 http://msdn.microsoft.com/en-us/library/dd470128%28v=vs.95%29.aspx
  • 许多人喜欢ASP.Net MVC - 请查看。
  • 使用ajax,jquery等的Javascript方法近年来获得了很多动力。请注意,从您的winform代码开始,这将是一个更大的转变,根据您的看法,这可能是好的或坏的。