gpt4 book ai didi

asp.net - ASP.NET Core中Server.Transfer的替代

转载 作者:行者123 更新时间:2023-12-04 12:18:09 26 4
gpt4 key购买 nike

我正在将ASP.NET应用程序迁移到ASP.NET Core,他们对 HttpServerUtility.Transfer(string path) 进行了一些调用。但是,HttpServerUtility在ASP.NET Core中不存在。

有没有我可以使用的替代方法?还是 Response.Redirect 是我唯一的选择?

我想尽可能保持与旧应用程序相同的行为,因为Server.Transfer and Response.Redirect之间存在差异。

最佳答案

我会根据您的情况为您提供一些选择:

  • 返回另一个 View :仅HTML。请参阅Muqeet Khan
  • 的答案
  • 返回相同 Controller 的另一个方法:这还允许执行另一个操作的业务逻辑。只需编写类似于return MyOtherAction("foo", "bar")的内容即可。
  • 返回另一个 Controller 的 Action :请参阅Ron C的答案。此解决方案让我有点麻烦,因为它忽略了整个中间件,该中间件包含大约90%的ASP.NET Core逻辑(如安全性,Cookie) , 压缩, ...)。
  • 路由样式中间件:添加类似于路由功能的中间件。在这种情况下,您的决策逻辑需要在此处进行评估。
  • 中间件堆栈的后期重新运行:本质上,您需要重新运行堆栈的很大一部分。我相信有可能,但尚未找到解决方案。我看过Damian Edwards(ASP.NET Core的PM)的演讲,他托管了没有使用Kestrel/TCPIP的ASP.NET Core,仅用于在浏览器中本地呈现HTML。那你可以做的。但这是很多重载。

  • 忠告:转移已死;)。这样的差异是ASP.NET Core存在和性能提高的原因。这对迁移不利,但对整个平台有利。

    关于asp.net - ASP.NET Core中Server.Transfer的替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39693050/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com