gpt4 book ai didi

c# - ASP.NET OWIN 中间件 - 修改 HTTP 响应

转载 作者:行者123 更新时间:2023-11-30 22:56:44 25 4
gpt4 key购买 nike

我需要拦截所有aspxjs文件请求,并替换一些文本标签存在。这个中间件应该作为 IIS 模块工作,显然不会干扰 Web 应用程序的正常流程。我写了一些代码,但我不知道该怎么做。

public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.Use(typeof(FilterMiddleware), Console.Out);
}
}

public class FilterMiddleware : OwinMiddleware
{
private readonly TextWriter logger;
private readonly OwinMiddleware nextMiddleware;

public FilterMiddleware(OwinMiddleware nextMiddleware, TextWriter logger) : base(nextMiddleware)
{
this.nextMiddleware = nextMiddleware;
this.logger = logger;
}

public override async Task Invoke(IOwinContext context)
{
var headers = context.Request.Headers;

// IF .js OR .ASPX REPLACE TEXT HERE //

await nextMiddleware.Invoke(context);
}
}

最佳答案

我想你要找的是

if (context.Request.ContentType = "application/json") // or whatever MIME type
{
...
}

然后在完成所有处理后,不要忘记创建回复

context.Response.ContentType = "application/json";
string result = ""; // whatever string you are sending back
await context.Response.WriteAsync(result);

但是,如果遇到某种错误,例如不受支持的方法(即 PUT)

context.Response.StatusCode = StatusCodes.Status405MethodNotAllowed;
await context.Response.WriteAsync(String.Empty);

关于c# - ASP.NET OWIN 中间件 - 修改 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54179984/

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