【问题标题】:ASP to ASP.NET Helper FunctionsASP 到 ASP.NET 帮助函数
【发布时间】:2009-01-13 18:19:29
【问题描述】:

我正在考虑将网站从经典 ASP 转换为 ASP.NET。我正在考虑采用敏捷风格的方法并尽快提供可交付成果,因此我正在考虑进行逐行转换并创建“坏”的 ASP.NET 并将其全部保存在阶段 1 的 ASPX 文件中并得到它在职的。我认为,这将是最快和最安全的(即保留相同的功能)。下一阶段是将代码拆分为代码隐藏和多层。

我打算用 ASPX 文件中的 C# 替换 ASP 文件中的 VBScript。

因此,除了关于我打算做什么的一般 cmets(我欢迎)之外,我的具体问题是:是否有任何辅助函数可以将 VBScript 函数从 ASP 包装到 C# 等价的某人已经完成了吗?

所以我会寻找一个包含如下包装器的 C# 文件(库):

string Mid(string txt,int start,int length)
{
  return txt.SubString(start, length); // or is it start - 1?
}
double Abs(double num)
{
  return Math.Abs(num);
}

【问题讨论】:

    标签: c# asp.net asp-classic vbscript


    【解决方案1】:

    查看 Microsoft.VisualBasic 命名空间以访问旧的 VBScript/VB6 函数。您可以直接从 C# 中使用它们。

    此外,您会感到震惊。 ASP.Net 使用不同的编译器模型,因此您在 Classic ASP 中所做的一些事情在 ASP.Net 中根本不允许。包含文件是最重要的——所有支持代码(页面本身的 *.asp 文件之外的代码)必须重新考虑以支持新模型。

    【讨论】:

      【解决方案2】:

      我不认为逐行方法是一个好主意——你最终会得到一堆你仍然需要重构的糟糕代码。这对我来说也不是很敏捷。

      我会尝试将网站在逻辑上分解为模块,然后尝试将特定页面或模块重写为 ASPX。例如,如果站点有一个管理部分,也许你可以重写管理部分。然后重复下一节。这可以为每个部分迭代地完成,直到你完成为止。

      【讨论】:

        【解决方案3】:

        我同意 Jason 的评论,并且还想指出一个更高级别的问题,如果您还没有考虑过,您必须解决它。

        您的经典 ASP 站点是否使用会话变量来管理页面之间的状态?如果是这样,您是否考虑过如何在 ASP 和 ASP.NET 之间共享会话状态?经典 ASP 和 ASP.NET 以不同的方式实现会话状态,因此您将需要在两者之间传输的方法。

        较小的应用程序可能更容易“转换”,但如果您有一个大量使用会话变量的大型应用程序,您可能需要考虑其他选项。

        【讨论】:

          【解决方案4】:

          如果您可以选择使用 ASP.NET MVC,我会先看一下。我认为这比尝试从脚本语言转换为 WebForms 更容易。

          【讨论】:

            【解决方案5】:

            我认为在 .Net 中按原样重做网站不会有任何收获。正确实施它与您在 .Net 中开始使用的内容完全不同,以至于看起来像是在浪费精力。此外,如果您在 .aspx 页面中实现所有内容,甚至没有代码隐藏,那么编写单元测试将非常困难。

            我的目标是进行 MVC 转换。如果您按原样移植它,至少调查母版页,那应该可以省去一些麻烦。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-13
              • 2010-11-20
              • 1970-01-01
              • 1970-01-01
              • 2010-12-22
              相关资源
              最近更新 更多