【问题标题】:Building web UI构建网页界面
【发布时间】:2011-12-14 01:27:41
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 您的 BLL 是否作为 Web 服务实现?
  • 不,目前的设计没有考虑到网络。

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


【解决方案1】:

在不了解现有应用详细信息的情况下很难做出推荐。也没有一个正确的答案。 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 代码发生更大的变化,这可能是好是坏,具体取决于您如何看待它。

【讨论】:

  • 嗨,bryanmac,感谢您的回复。我需要在这里澄清一些事情:>>一个用户和进程通常使用厚厚的 winform 应用程序 - 除非您正在编写并发编码,否则您的应用程序可能不是线程安全的。如果我不处理数据库并发,那么我在使用 WinForms 应用程序时也会遇到麻烦,因为每个进程只有一个用户,但许多用户可以同时访问数据。如果您指的是具有一些静态信息的进程,这对所有网络用户来说都是通用的,那么这是一个有效的问题,并且将被测试。
  • .. 为了继续,我必须使用 MS 技术,所以 Java 已经出局了。将 Silverlight 用于 ASP.NET 是否有优势,或者只是偏好问题?至于 MVC 模式,我前段时间读过,如果我记得很清楚,最常见的场景是与 Razor 一起使用,但我真的不喜欢在没有 UI 设计器拖放支持的情况下开始我的 Web 体验。如果我将它与 ASP.NET 一起使用,那么它仍然是 ASP.NET,只是使用 MVC 模式。所以如果客户问你 ASP.NET 或 silverlight,你会怎么说?该应用程序主要包含大量数学方程式、报告和图表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
相关资源
最近更新 更多