Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 构建web用户界面_C#_Asp.net_.net_Silverlight 4.0_.net 4.0 - Fatal编程技术网

C# 构建web用户界面

C# 构建web用户界面,c#,asp.net,.net,silverlight-4.0,.net-4.0,C#,Asp.net,.net,Silverlight 4.0,.net 4.0,我有一个正在运行的WinForms应用程序,用c#编写,分为几个层(数据层、模型、业务逻辑、公共层等)。我希望允许用户使用web浏览器进行数据管理。我是否需要在层与层之间进行某种转换,或者我可以安全地使用Web表单中的业务层?另外,在web层上应该使用什么样的MS技术,因为我看到我们可以同时使用经典的ASP.NET页面、Silverlight或其他东西?应用程序本身有几个表单用于输入数据,还有很多很多不同的表单,包括图表和报告 提前感谢。在不了解现有应用程序详细信息的情况下,很难进行推荐。也没有

我有一个正在运行的WinForms应用程序,用c#编写,分为几个层(数据层、模型、业务逻辑、公共层等)。我希望允许用户使用web浏览器进行数据管理。我是否需要在层与层之间进行某种转换,或者我可以安全地使用Web表单中的业务层?另外,在web层上应该使用什么样的MS技术,因为我看到我们可以同时使用经典的ASP.NET页面、Silverlight或其他东西?应用程序本身有几个表单用于输入数据,还有很多很多不同的表单,包括图表和报告


提前感谢。

在不了解现有应用程序详细信息的情况下,很难进行推荐。也没有一个正确的答案。Silverlight、ASP.net(MVC)、Javascript/jquery/ajax都是有其位置和用途的好技术。但是,当你自己决定的时候,这里有一些想法和事情要考虑。

  • 厚winform应用程序通常是具有本地状态的胖客户端。你的数据模型等等。。。可能依赖于在更胖的本地进程中跨多个请求持久化的状态
  • 厚winform应用程序通常由一个用户和进程使用-除非您编写并发代码,否则您的应用程序可能不是线程安全的
  • Web进程由多个用户共享请求,任何共享状态都需要考虑并发和内存占用。
  • 您通常希望web进程保持较少的状态,并将更多的客户机体验传递给客户机—因此在ajax、jquery等中的流行度。。。更多javascript技术
  • Silverlight更接近您的winform进程—它托管在浏览器插件中,状态和代码由该用户访问。您必须将视图层更改为silverlight,但您可能能够保留模型和数据层
  • 在silverlight插件中运行比完整winform应用程序有更多的限制(沙盒)
  • 很多人喜欢ASP.NETMVC——看看吧
  • 使用ajax、jquery等的Javascript方法。。。近几年来,中国的发展势头强劲。请注意,winform代码将发生更大的变化,其好坏取决于您如何看待它

您的BLL是作为web服务实现的吗?不,当前的设计没有考虑web。嗨,bryanmac,谢谢您的回复。我需要在这里澄清一些事情:>>厚winform应用程序通常由一个用户和进程使用-除非您编写并发代码,否则您的应用程序可能不是线程安全的。如果我没有处理数据库并发,那么WinForms应用程序也会遇到麻烦,因为每个进程只有一个用户,但数据可以同时被多个用户访问。如果您指的是一个具有一些静态信息的流程,这对于所有web用户来说都是常见的,那么这是一个有效的关注点,并且将被测试。。。为了继续,我必须使用MS技术,所以Java已经过时了。将Silverlight用于ASP.NET有什么好处,还是只是偏好的问题?至于MVC模式,我以前读过,如果我记得很清楚的话,最常见的场景是将其与Razor一起使用,但我真的不喜欢在没有UI设计器拖放支持的情况下开始我的web体验。如果我将它与ASP.NET一起使用,那么它仍然是ASP.NET,只是使用MVC模式。所以,若客户问你们ASP.NET或silverlight,你们会怎么说?该应用程序主要是关于数学方程,报告和图表吨。