我被要求在.net和MSSQL中编写桌面应用程序以保存记录。我必须建立表格,以保存15页或更多与单人相关的记录。我可以分离数据层和表示层。
未来我正在计划。我的客户会在几个月或一年之后要求在asp.net中将其设置为[基于web]的应用程序。那时我再次需要重新构建整个Web界面,即表示层。
所以我想知道是否有任何想法,因此当时将最小化工作以构建Web界面?或者我可以直接将桌面界面更改为Web界面吗?
答案 0 :(得分:1)
WPF和XBAPs可能适合您。虽然Silverlight可以与WPF共享代码,但它们是二进制不兼容的。 XBAP和完整桌面WPF客户端应用程序可以共享二进制文件,因此您可以在一个库和视图中编写视图模型,即。两个不同库中的表示层。一个托管为WPF客户端应用程序,另一个托管为XBAP。
这不会为您提供基于HTML的ASP.Net层,但它仍允许您的客户端仅在一个Web服务器上部署XBAP,并让用户通过URL使用它。这为您的客户提供了同样的好处,即只需要维护一个基于HTML的ASP.Net应用程序就可以获得的安装。
这样做的缺点是WPF比基本的WinForms有更陡峭的学习曲线,但它更好地支持表示和数据(或模型/视图/ ViewModel)之间的清晰分离,而不是WinForms。
另外,作为一个个人观点,一旦你开始学习WPF,用WinForms漏洞的COM抽象来编写代码要好得多。
答案 1 :(得分:0)
你考虑过WPF和Silverlight吗?
答案 2 :(得分:0)
我认为您应该考虑根据N-Tier Data Applications Overview ...
构建您的桌面应用