构建旧式ASP.net应用程序(使用System.Web)

时间:2017-08-31 18:11:41

标签: asp.net

我有一个旧的asp.net,我想从Windows环境迁移到Linux。

该应用程序有一个旧的Web.config,一堆dll和一个App_code文件夹。

你能指出我正确的方向来实现这个目标吗?

到目前为止我已尝试过:

dotnet publish -c Release -o /var/www/blah

但是抱怨道:

app_code/Rewriter.cs(3,14): error CS0234: The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference?

我读到System.Web不再存在了。

我的问题是,我可以参考某种构建环境来构建和部署这种旧式应用程序吗?或者我需要移植所有代码?

1 个答案:

答案 0 :(得分:1)

将任何业务逻辑迁移到类,以便您可以重用它。您可以移动到类(甚至类库)的代码越多,它就越容易。然后创建一个新的ASP.NET核心应用程序并重建UI位。

最难的部分是如果你有很多意大利面,因为你过度使用了代码隐藏文件中的事件方法。你最终可能会进行大量的重构,但我们的想法是让它保持原样,但是使用ASPX页面之外的实际代码。一旦您的事件处理程序看起来更像这样

public void THisButton_Click(e as EventArgs)
{
    OtherClass.Method();
}

你会发现迁移到MVC要容易得多,这就是你想用ASP.NET Core设计UI的方式。

如果这没有意义,请告诉我,我可以看看是否可以为您指出一些有用的信息。