2009-11-21 46 views
1

我与一个积极开发的生产Web应用程序完全写在 Classic ASP。像大多数经典的asp应用程序一样,它充满了意大利面代码。所以我开始分解成简单的VB类来获得一些基本的封装优势。经典的ASP开发

创建类时,我觉得有更高层次的语言这样做是有冲突的。有没有关于如何做到这一点的建议?我有两个想法:

COM对象和Web服务。我倾向于Web服务路线,但非常感谢有关如何将经典ASP系统的业务逻辑最佳封装为更高级语言的建议。

你有什么建议?

+1

似乎你会对你的传统ASP应用程序实施一些重大更改。转移到ASP.NET或其他技术是否有意义? –

+0

@ o.k.w我认为这是一个被问到的问题。 – AnthonyWJones

回答

4

作为一个开始,我建议你阅读关于MVC

然后,你可以切换到一个框架,通过使用SoC工具,如Castle Windsor,NHibernate的支持这样的概念,如ASP.NET MVC并得到了更进一步等

如果你不想走上在这样的一个OMG从头开始旅程,那么Web服务将是封装业务逻辑的首选解决方案。 (遵循模型视图设计模式)。

COM对象将是这项任务的一个不好的解决方案。它们不适用于Web应用程序或逻辑管理。

+1

+1不仅仅是因为我是一个mvc迷,而是来自经典的ASP(其中你还没有看到asp.net webforms)MVC几乎是合乎逻辑的方法 –

+0

这是一个古老的问题和答案,但我刚刚注意到现在的问题超过1000个观看次数,所以我会标记这个答案,任何人仍然来到这里。我已经从触发问题的应用程序转移,但这是最好的建议。 – Eaphis

1

几个月前我试图“简化”一个经典的ASP网站,主要是使用COM对象。我没有觉得这个经历特别令人满意。我没有太多时间投入到这个项目中,而且我从来没有得到开发环境的适当凝胶,所以调试等是一个持续的痛苦。用C#编写对象很简单,但将它们集成到生产服务器上是一件麻烦事。

最后,我刚刚清理了Classic ASP本身中的数据访问层和相关类。这绝对是在花费的时间等方面给出了最好的投资回报率。

我有时觉得好像我应该去用COM对象或类似的东西替换一些网站,但我努力向自己辩解为什么'd是个好主意。

无论如何,无论采取什么方法,我都建议您确保开发过程尽可能无缝。这不一定是直截了当的,至少有一半是传统的基于ASP的。

3

您可能有兴趣使用ajaxed,它已被构建为支持传统的经典asp应用程序。