.net - 编写可切换到 Web 的桌面程序

标签 .net algorithm web-applications user-interface desktop-application

我被要求用 .net 和 MSSQL 编写桌面应用程序以保存记录。我确实必须建立表格来保存打印在 15 页或更多页上的与单例相关的记录。我对分离数据层和表示层很好。

对于 future ,我现在正在计划。几个月或一年后,我的客户会要求在 asp.net 中启用 [基于 Web 的] 应用程序。所以那时我又需要重新构建整个网络界面,即表示层。

所以我想知道是否有任何想法可以将构建网络界面的工作减到最少?或者我可以直接将桌面界面更改为网页界面吗?

最佳答案

WPF 和 XBAPs可以为你工作。虽然 Silverlight 可以与 WPF 共享代码,但它们是二进制不兼容的。 XBAP 和完整的桌面 WPF 客户端应用程序可以共享二进制文件,因此您可以在一个库和 View 中编写 View 模型,即。两个不同库中的表示层。一个托管为 WPF 客户端应用程序,另一个托管为 XBAP。

这不会为您提供基于 HTML 的 ASP.Net 层,但它仍然允许您的客户端仅在一个 Web 服务器上部署 XBAP,并让用户通过 URL 使用它。这为您的客户带来了与他们希望基于 HTML 的 ASP.Net 应用程序所获得的相同的好处,即他们只需维护一次安装即可。

这样做的缺点是 WPF 的学习曲线比基本的 WinForms 更陡峭,但它比 WinForms 对表示和数据(或模型/ View / View 模型)之间的干净分离有更好的支持。

另外,作为个人意见,一旦您开始学习 WPF,用它编写代码比用它有漏洞的 COM 抽象的 WinForms 编写代码要好得多。

关于.net - 编写可切换到 Web 的桌面程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510956/

相关文章:

python - 动态规划 : Mission Per Day, 利润最大化调度

algorithm - 需要特殊数组(线性场)的算法

django - 将 URL 中的页码改为 "embed"的最佳方法是什么?

tomcat - Java Webapp : generate File, 然后作为 JSP 的一部分显示?

c# - CodeDom 如何创建具有 void 返回类型的方法?

.net - 使用 .NET 回复短信?

c++ - 回溯算法卡住了

ipad - 防止 iPad 任务切换时 Web 应用程序重新启动

c# - 仅当从网络驱动器进行编译时,编译问题[“Root activity type is invalid”]

.net - 为什么linq查询不将 "where"放入SQL语句中