加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET Core中Server.Transfer的替代方案

发布时间:2020-12-16 07:02:25 所属栏目:asp.Net 来源:网络整理
导读:我正在将ASP.NET应用程序迁移到ASP.NET Core,并且他们对 HttpServerUtility.Transfer(string path) 进行了一些调用.但是,ASP.NET Core中不存在HttpServerUtility. 有没有我可以使用的替代方案?或者 Response.Redirect 是我唯一的选择吗? 我希望尽可能保持
我正在将ASP.NET应用程序迁移到ASP.NET Core,并且他们对 HttpServerUtility.Transfer(string path)进行了一些调用.但是,ASP.NET Core中不存在HttpServerUtility.

有没有我可以使用的替代方案?或者Response.Redirect是我唯一的选择吗?

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

解决方法

我会看到一些选项,具体取决于您的情况:

>返回另一个视图:所以只是HTML.查看Muqeet Khan的回答
>返回同一控制器的另一个方法:这也允许执行其他操作的业务逻辑.只需写一些像返回MyOtherAction(“foo”,“bar”)的东西.
>返回另一个控制器的动作:查看Ron C的答案.我对这个解决方案有点麻烦,因为它省略了整个中间件,其中包含了90%的ASP.NET核心逻辑(如安全性,cookie,压缩),…).
>路由样式中间件:添加类似于路由的中间件.在这种情况下,您的决策逻辑需要在那里进行评估.
>中间件堆栈的后期重新运行:您基本上需要重新运行堆栈的大部分.我相信这是可能的,但还没有看到解决方案.我已经看过Damian Edwards(用于ASP.NET Core的PM)的演示文稿,他在没有Kestrel / TCPIP用法的情况下托管ASP.NET Core,只是为了在浏览器中本地呈现HTML.那你可以做.但这是一个很大的过载.

一句忠告:转移已经死亡;).这样的差异是ASP.NET Core存在和性能改进的原因.这对迁移不利,但对整个平台有利.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读