将 Web 应用程序移植到桌面应用程序
我有一个正在生产的 Web 应用程序,用于典型的数据输入、检索和报告类型功能。 出于移动性的原因(需要现场访问),我的任务是将该 Web 应用程序移植到桌面应用程序。 现有应用程序的结构(我没有设计或编码)是这样的:
3 个单独项目,每个项目都有自己的 DAL 和 SQL DB命名相同。 项目 1 是核心应用程序。 项目 2 存在于项目 1 之上,并添加更多功能,但不能单独存在。 项目 3 建立在前 2 个项目的基础上,并且与两个项目一样大,但同样不能单独存在。
要进入 Web 应用程序 Project 3,您需要登录 1,选择一个人员,导航到2,选择注册,导航至3,然后使用计划 。 所有三个项目共享项目 1 中现有的 1 BLL。
考虑到所有这些,时间紧迫,我相对较新,以及我与最初的三个项目的任何创建都没有任何关系(3 个独立的开发人员创建了上述 3 个项目),对我来说有一些建议。
例如,我可以重用 aspx 页面吗? 它们可以像 WPF 一样嵌入吗? 转换了吗?
我应该牢记什么类型的 UI 重构注意事项? 从理论上讲,是否有某些变化会破坏事物?
还有其他人曾经做过类似的事情吗? 尖端?
谢谢!
编辑1
下面有一个卡西尼号的建议,巧合的是这里有一篇关于它的帖子。 此处 那篇文章让我相信了这一点对我来说不起作用,因为我的“应用程序”实际上是 3 个项目,有 3 个单独的部署。 正确还是我读错了?
I have a web app in production that is used for typical data entry,retrieval, and reporting type functions. For reasons of mobility(field access required) I have been tasked with porting that Web App to a Desktop App. 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. Project 1 is the core app. Project 2 exists on top of Project 1 and add's further functionality but cannot exist on it's own. Project 3 builds on the first 2 projects and is as large as both but again cannot exist on it's own.
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. All three projects share 1 BLL existing in Project 1.
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.
Example, can I reuse the aspx pages, at all? Can they be embedded like WPF? Converted?
What type of UI refactoring considerations should I keep in mind? Are there certain changes that will break things, theoretically?
Any one else ever had to do something similar? Tips?
Thanks!
EDIT 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. Correct or am I reading that wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
时间紧迫?
如何在本地安装 Cassini Web 服务器或同等服务器,然后让 Web 应用程序在本地计算机上运行? 尽管您会遇到数据库同步问题,但这将消除大部分转换。 在漫游桌面上创建的任何新记录也必须与共享操作存储同步。
除此之外,我不知道重用 ASPX 页面的好方法。 当然,如果将业务逻辑分解到单独的类中,而不是嵌入到页面本身中,那么您将能够重用 BL 类。
Tight time frame?
How about installing the Cassini web server, or equivalent, locally, and just let the web app run on the local machine? 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. 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.