可以在.NET中将WinForm转换为WebForm吗?
我不认为这是可能的,但我只是和一位同事聊天,她说她以前做过。她在拉我的链条吗?这不是你能自动完成的事情 诀窍在于Winforms和Webforms都使用普通的旧类表示表单。然而,与Winforms相比,Webforms中的类实例是短暂的;每个Webforms类实例只表示一个HTTP请求,而不是像Winforms那样表示表单的整个生命周期。每次在ASP.NETWebForms中处理窗体的事件时,您都在处理该类的一个全新实例。微软费了很大的劲才尽可能地为这个问题做掩护,但最终,用Winform的术语来看待Webform并不是一个好主意可以在.NET中将WinForm转换为WebForm吗?,.net,asp.net,winforms,webforms,.net,Asp.net,Winforms,Webforms,我不认为这是可能的,但我只是和一位同事聊天,她说她以前做过。她在拉我的链条吗?这不是你能自动完成的事情 诀窍在于Winforms和Webforms都使用普通的旧类表示表单。然而,与Winforms相比,Webforms中的类实例是短暂的;每个Webforms类实例只表示一个HTTP请求,而不是像Winforms那样表示表单的整个生命周期。每次在ASP.NETWebForms中处理窗体的事件时,您都在处理该类的一个全新实例。微软费了很大的劲才尽可能地为这个问题做掩护,但最终,用Winform的术语
您当然可以使用Winforms应用程序并重写它以使用Webforms,但这只是一次重写。除了前面的答案,请注意,有些winform功能根本不存在于webform中,因此它首先取决于winform中的内容。是的,这是可能的。如果您设计的应用程序足够好,那么将Win Forms应用程序转换为web Forms应用程序应该相对容易,只需替换UI层即可。您正在使用逻辑层和数据层(这是所有功能的所在) 显然,您必须从头开始编写一个新的UI层,但是,如果逻辑层编写得足够好,那么与从头开始编写整个应用程序相比,这不会是太多的工作 然而,即使你有一个写得很好的应用程序,也存在一些问题。逻辑层可以假设一个有状态的应用程序,在这种情况下,它可能依赖于延迟加载。在web应用程序中,您有一个在请求和响应上运行的无状态模型。在这种情况下,您将确切地知道您需要什么,并且可以加载您需要的位,而不是以后可能需要的其他东西。。。因为稍后将是一个不同的请求/响应周期,您现在收集的所有数据将在当前响应完成后立即删除
我最近一直在把一个原本是WinForms的应用程序的逻辑放到MVC中,获得响应速度的最大障碍是,尽管写得相当好,但逻辑层假设了一个有状态的环境。同样的应用程序也在为WPF(另一个有状态的环境)重新编写,没有那么多问题。还有一点需要说明:重写取决于表单本身有多少逻辑。对于适当分离的关注点,只需将另一个UI插入业务层即可
当然,问题在于,90%的应用程序并没有比CRUD UI更复杂的东西(没有真正的业务逻辑).将桌面应用程序转换为web应用程序有几个挑战:
- 获取硬件
- Windows API调用
- 应用程序状态的管理
- 访问文件系统
- 访问控制
- 使用特定于桌面的UI/UX/控件
- (显然已不存在)
免责声明:我为Movesite.Net工作,他创建了WebMAP。可能吗?对不写任何新代码就可以吗?不(如果可以的话,我想你不会喜欢结果的)。我想VisualWebGUI已经破产了。