【问题标题】:Accessing raw requests in ASP.NET在 ASP.NET 中访问原始请求
【发布时间】:2012-08-07 15:55:09
【问题描述】:

我正在寻找一种绕过所有 ASP.NET 特定行为的方法,并像在大多数其他服务器上一样在 IIS/azure 服务器中工作(接收请求字符串,写入响应)。我知道这在 ASP.NET 中并不是一个普遍的愿望,但是如果能移植一些外部代码以在 ASP.NET 上工作,那就太好了。

所以,基本上我正在寻找一种方法:

  • 对于不是物理文件的每个请求,调用我的处理程序
  • 此处理程序将接收原始 HTTP 请求(可以抽象它,因为我有相同的信息)
  • Web 服务器逻辑将处理请求并编写响应(同样,抽象也可以,因为我可以编写相同类型的信息,例如 HTTP 状态和 HTTP 标头)

实现这一目标的最佳方法是什么? 谢谢!

【问题讨论】:

    标签: asp.net web-services iis url-rewriting


    【解决方案1】:

    您可以自己编写一个自定义 HTTP 模块并将其注册到 IIS。 http://msdn.microsoft.com/en-us/library/ms227673.aspx

    【讨论】:

    • 这也适用于 Azure 服务器吗?共享托管服务和 HTTP 模块是否有任何共同限制?谢谢!
    • 我想它会,但尚未测试,我们通常托管在我们自己的托管服务器上。但是,运行测试 DLL 以进行测试是相当容易的。 DLL 最终成为标准 CLR 代码,以与 IIS 相同的权限运行。
    • 非常好!!!我将保留这个问题,以便我可以在 Azure 上对其进行测试,但这似乎是解决这个问题的好方法!非常感谢!
    【解决方案2】:

    NancyFx 怎么样?

    Nancy 旨在处理 DELETE、GET、HEAD、OPTIONS、POST、PUT 和 PATCH 请求并提供一个简单、优雅、特定于领域的 用于返回响应的语言 (DSL) 击键,让您有更多时间专注于重要的事情 bits.. 你的代码和你的应用程序。

    【讨论】:

    猜你喜欢
    • 2015-10-19
    • 2015-11-20
    • 2020-07-19
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2021-11-28
    • 2019-01-04
    相关资源
    最近更新 更多