c# - 在 ASP.NET 5 中将 HttpContext.Current.RewritePath 放在哪里?

标签 c# asp.net .net url-rewriting asp.net-core

我在 asp.net 中进行开发。最近我发现在asp.net 5中没有Global.asax文件。

要放入 Global.asax 文件的其中一项是 URL 重写。

Global.asax 文件消失了。我可以在哪里放置 URL 重写代码。我的意思是我在 ASP.NET 4.0

中做了类似的事情
 HttpContext.Current.RewritePath(...);

我不想使用 URL 重写模块。我只想使用 HttpContext.Current.RewritePath 方法来完成。

我的问题是我可以把上面的代码放在ASP.NET 5中的什么地方?

最佳答案

在 Startup 的 Configure 方法的开头创建并添加一个新的中间件(您希望它在任何其他中间件之前执行)。示例 here

如下实现调用方法来重写url

public Task Invoke(HttpContext context)
{
    // modify url
    context.Request.Path = new PathString(context.Request.Path.Value + 'whatever');
    // continue
    return _next(context);
}

我在分析 aspnet/StaticFiles 时遇到了这个问题在 Github 上 repo 。

关于c# - 在 ASP.NET 5 中将 HttpContext.Current.RewritePath 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32434881/

相关文章:

C# 获取页面类型名称?

c# - 在 ASP.NET 中的回发时维护水平和垂直 ScrollPosition

c# - 如何读取 Excel XML (C#)

c# - 哪种方法可以更好地阻止 sql 注入(inject)

c# - 如何在动态数据 TableName 属性中使用 Resources.resx 文件中的字符串

c# - 如何在控件中找到承载特定 Winforms 控件的窗体?

c# - 使用 ReadLineAsync 进行客户端-服务器通信是否完全可以

c# - 事件聚合器模式 : How To Pass Data?

c# - 单击动态添加的按钮时如何触发 aspx 脚本?

c# - 当原始类超出范围时线程会发生什么