问题标签 [delegatinghandler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - DelegatingHandler 适用于 Localhost 但不适用于 Azure
我有以下代码在转发到我时可以正常工作localhost:1671
:
但是,当我将其更改为我在 azure 上的网站(例如 xxxx.azurewebsites.net)时,它不起作用。
知道我是否需要对 Azure 进行不同的配置吗?我假设在 Azure 上的端口是 80。
c# - DelegatingHandler 是否有任何性能副作用?
我的 api 项目中有这个委托处理程序:
HttpContext.Current.SetMobileRequestInfo
只需添加info
对象添加到 http-items 以便稍后在应用程序中使用。
这Validate
是一个非常轻量级的数据库查询。和Log
方法是将请求的数据(如URI和查询字符串等)插入数据库。
有时,我的应用程序会出现奇怪的行为:它只是崩溃了!没有日志,没有错误,什么都没有。只是服务器不响应请求。我必须重新启动应用程序(例如通过在 中进行虚假更改web.config
)才能使其恢复工作。该应用程序是一个非常简单的应用程序。我在 IIS 7.5 机器上运行的 .NET 4.5 平台上使用 ASP.NET Web API 2。我唯一能想到的地方是提到的委托处理程序,这可能会导致错误。你有什么主意吗?委托处理程序是否有任何可能导致应用程序关闭的性能副作用?
c# - 如何为自定义路由定义 DelegatingHandler?
我创建了一个 DelegatingHandler,它适用于每个请求。我读过一些文章,我可以为特定路线定义处理程序,但我尝试了很多方法都没有成功,我错过了一些我没有找到的东西。
最后一次尝试是:
我的类控制器和方法具有以下属性:
我的处理程序缺少什么仅适用于api/message/text 之类的请求?
我已经阅读了诸如How to make more MapHttpRoutes for MVC 4 Api和http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-and-action-selection之类的链接。
c# - 单元测试 DelegatingHandler
如何对自定义 DelegatingHandler 进行单元测试?我有以下内容,但它抱怨 innerHandler 未设置。
c# - webapi 响应的全局查询参数
我有一个安静的 webapi,我想支持一个查询参数来搜索类似的东西?q=
我想做的是使用 delegatingHandler 来更改响应基本上为每种类型的 Resource 创建一个 QueryHandler
BaseQueryHandler 方法看起来像这样
像这样的具体 QueryHandler
更新:
我一定会看看 OData。
到目前为止,我所做的是实现我的 QueryHandler,然后使用扩展方法来搜索对象的字段和值
然后像这样在我的具体 searcHandler 实现中使用它
(实际上在另一个关于dynamic.Linq的答案中找到了这个(不记得URL,当我重新找到它时会更新,以给予适当的信任)
你们有没有更好的方法来做到这一点?
通常你会在所有操作上正确地使用查询参数,我不想这样:)
c# - 在 DelegatingHandler 中调用 LoadIntoBufferAsync 时出现死锁
要仅对大于给定大小限制的 WebAPI 响应进行压缩/放气,我必须找出要返回的内容的大小。但是以下行:
似乎会在 API 响应周期的后期导致死锁。大小确定正确,处理程序执行良好,但之后请求将永远挂起。
这是我的 DelegatingHandler 的 SendAsync 方法。
我尝试了 Wait(..)、ConfigureAwait(..) 和 ContinueWith(..) 的不同组合。使用 async / await 语法我遇到了同样的问题。
编辑: Compressor 的 SerializeToStreamAsync (负责压缩内容流):
=> 显然,当它被调用时,管道被破坏了:
单独调用两者中的任何一个都可以,因此它们在读取/写入内容流时一定是个问题。
c# - 在 Web API 调用中使用多个委托处理程序
我有一个需要使用 2 个委托处理程序的 Web API 调用,但我似乎从未进入第二个处理程序。该路线已向处理程序注册。我不允许在全局配置中设置处理程序。
HandlerA 触发断点,没有进一步的问题。
我预计会到达 HandlerB 但它永远不会到达,它直接进入 API 控制器。处理程序 A 不对请求做任何事情。
c# - 我们如何在 ASP.NET Web API 中记录身份验证令牌请求
我们有一个 ASP.NET Web Api 应用程序,它使用 OAuth Bearer Tokens 进行身份验证,我们正在尝试实现请求/响应日志记录。
基本上它的工作原理如下:
1. 用户向“/authenticate”发送请求并接收身份验证令牌
2. 然后用户使用此身份验证令牌向公开的 API 方法发出请求
为了将请求记录到公开的 API 方法中,我们使用了一个DelegatingHandler
非常好用的方法。
但是,对“/authenticate”的请求不会被DelegatingHandler
实现捕获。
记录令牌请求是否需要不同的方法?
使用 OAuth 代码编辑
c# - DelegatingHandler 缓存一个 HttpResponseMessage
我正在尝试缓存对 webapi 端点请求的响应。
我创建了一个 DelegatingHadler,它使用先前生成的响应使管道短路,但它不起作用。
我究竟做错了什么?或者我怎样才能正确地做到这一点?
这是我的DH: