随着时间的推移将项目从webforms转换为MVC - 可以这样做吗?

时间:2012-05-04 11:21:27

标签: asp.net-mvc

我正在开发一个由SQL服务器数据库支持的典型3层webforms应用程序。此外,一些表单调用DAL层,该层从主机上的DB2数据库获取数据,并且该逻辑被很好地封装。这个项目大约有80个表格,但我要说至少有50个表格非常相似,以至于他们会分享相同的2或3个观点。

所以告诉我你是否认为这是一个灾难的秘诀......我被要求探索以渐进的方式将这个项目转换为MVC的可能性。我们永远不会得到管理层的好处,花时间只是为了一举转换项目。它必须在我们的业务相关版本中逐步完成 - 即,我们每隔几个月发布一次,并且我被要求探索如何在每个版本中进行较小的更改以实现我们的MVC方式。由于它们是2个完全不同的框架,我不会立即看到如何做到这一点。我的一个想法是创建UI部分,将其放入MVC项目,并让控制器调用我们现在拥有的DAL。你甚至可以在其中拥有不同项目类型的解决方案吗?还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

我最近做过类似的事情。我有一个在ASP .Net和Oracle中开发的运行应用程序。该应用程序有几个性能问题,因此我们必须重新考虑这个问题。我们都同意我们应该同时将它迁移到MVC。

所以,我创建了一个新项目MVCWebClient。在那个新项目中,我们逐个创建了我们的页面。现在用户使用旧应用程序的登录页面登录我们的应用程序,我们更改了指向新应用程序的链接。

除了会话之外,一切都很顺利。因为我们在会话中存储了uid / pwd,所以我创建了一个虚拟页面,它将会话参数传递给我们的MVC应用程序。

例如,我现有的应用程序有以下URL: -

/Login.aspx

/Home.aspx

/Finance/Payslip.aspx

我创建了一个集成页面来传输这样的会话 /Integration.aspx?urlRequest=/MVCApp/Finance/Payslip

我的主导航链接就像这样 /Login.aspx

/Home.aspx

/Integration.aspx?urlRequest=/MVCApp/Finance/Payslip

如果您对我的解决方案感兴趣,请随时询问详细信息。