简体   繁体   English

将Web应用程序移植到桌面应用程序

[英]Porting a Web Application to Desktop Application

I have a web app in production that is used for typical data entry,retrieval, and reporting type functions. 我在生产中有一个Web应用程序,用于典型的数据输入,检索和报告类型功能。 For reasons of mobility( field access required ) I have been tasked with porting that Web App to a Desktop App. 出于移动性的原因( 需要现场访问 ),我已负责将该Web应用程序移植到桌面应用程序。 The structure of the existing app, which I did not design or code, is thus: 因此,我未设计或编码的现有应用程序的结构为:


3 Individual Projects each with there own DAL and SQL DB named the same. 3个单独的项目,每个项目都有自己的DALSQL DB,名称相同。 Project 1 is the core app. 项目1是核心应用程序。 Project 2 exists on top of Project 1 and add's further functionality but cannot exist on it's own. 项目2位于项目1之上,并且具有其他功能,但不能单独存在。 Project 3 builds on the first 2 projects and is as large as both but again cannot exist on it's own. 项目3建立在前两个项目的基础上,既与前两个项目一样大,又不能单独存在。

To get into Project 3 , the web app, you log in to 1 , Select a Person , navigate to 2 , Select an Enrollment , navigate to 3 to then work with a Plan . 要进入Web应用程序Project 3 ,请登录1选择一个 ,导航至2选择一个注册 ,导航至3 ,然后使用计划 All three projects share 1 BLL existing in Project 1 . 这三个项目共享项目1中现有的1个BLL


Given all of that, a tight time frame, my relative newness, and the fact that I had nothing to do with any of the original three's creation(3 seperate dev's created the aformentioned 3 projects) what are some suggestions for me. 考虑到所有这些,时间紧迫,我相对较新,以及我与最初三个人的创作无关(3个独立开发者创建了上述3个项目),这对我有什么建议。

Example, can I reuse the aspx pages, at all? 例如,我可以重用aspx页面吗? Can they be embedded like WPF? 它们可以像WPF一样嵌入吗? Converted? 转换了吗?

What type of UI refactoring considerations should I keep in mind? 我应该记住哪种类型的UI重构注意事项? Are there certain changes that will break things, theoretically? 从理论上讲,是否存在某些会破坏事物的变化?

Any one else ever had to do something similar? 其他人曾经做过类似的事情吗? Tips? 提示?

Thanks! 谢谢!

EDIT 1 编辑1

There was a suggestion of Cassini below and coincidentally there is a post here on SO about it. 下面有一个关于卡西尼号的建议,巧合的是在这里有关于此的文章。 HERE That post leads me to believe it WOULDN'T work for me as my "App" is actually 3 projects with 3 separate deploys. 在这里,该帖子使我相信它不会为我工作,因为我的“应用”实际上是3个带有3个单独部署的项目。 Correct or am I reading that wrong? 正确还是我读错了?

Tight time frame? 时间紧吗?

How about installing the Cassini web server, or equivalent, locally, and just let the web app run on the local machine? 如何在本地安装Cassini Web服务器或等效服务器,然后让Web应用程序在本地计算机上运行? This would eliminate much of the conversion, although you would have a db sync issue. 尽管您将遇到数据库同步问题,但这将消除大部分转换。 Any new records created on a roaming desktop would have too be synchronized with the shared operational store. 在漫游桌面上创建的任何新记录也将与共享运营存储同步。

Other than that, I don't know of good ways to re-use the ASPX pages. 除此之外,我不知道重用ASPX页面的好方法。 Of course if there is business logic factored into separate classes, rather than embedded into the pages themselves, you will be able to re-use the BL classes. 当然,如果将业务逻辑分解到单独的类中,而不是将其嵌入页面本身中,则可以重用BL类。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM