问题标签 [message-handlers]
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# - 读取 HttpContent 的前 n 个字符
我想在 Visual C# Web API 程序中记录有关 HttpRequestMessage 响应的信息。我想使用这样的消息处理程序(从 DelegatingHandler 继承):
问题是result.Content
有时会很大,所以我想将其限制为仅打印前 N 个字符(大约 50 个)。
我尝试了什么:
toString()
使用和使用将整个内容复制到字符串中SubString
。这正是我想要的,但是将巨大的字符串读入内存然后只使用前几个字符似乎很浪费——我觉得必须有更好的方法。- 来自互联网的各种解决方案,它们读取字符但将它们从流中删除。我需要按原样发回完整的流。
c# - 带有自定义处理程序的 Web API 路由不起作用
我正在尝试使用像这样的自定义消息处理程序向我的 WebAPI 添加路由
处理程序代码
但是每次我访问所述路由时,我都没有返回我的自定义标头或 NoContent 代码,而是从路由接收结果,但是如果我将处理程序添加为全局处理程序,就像这样
它工作并返回我的自定义标题和 NoContent 状态代码我在路由设置中缺少什么?
android - 如何将异步方法调用(回调)转换为 Android 中的同步方法调用
例子:
同步版本:
int 天气 = getWeather();
异步版本:
getweather(callback) 到另一个类,当其他类准备好返回值时,它使用回调。callback.receiveWeather(温度); 并且回调对象有一个被覆盖的 receiveWeather(int) 方法。
问题:
现在我如何将异步方法转换为 android 中的同步调用。你能给我一个例子吗?我知道它有一些事情要做线程,等待()等..但不知道要实现它。
asp.net-web-api - 在运行时删除/添加 MessageHandler
如何在运行时添加或删除消息处理程序?以下示例不起作用:
消息处理程序已添加到列表中,但不会在下一个请求中调用...
c# - Web API 在格式化程序中修改传入的有效负载
全部,
我正在尝试通过 Web API 修改传入对象的有效负载。目前我正在使用一个自定义格式化程序,它继承JsonMediaTypeFormatter
并覆盖了相关方法。
看起来像这样:
我正在使用它来跟踪通过 API 传入的每个对象。
在这一切发生之前,我有一个 MessageHandler,它正在创建一个事件编号并将其添加到Request.Properties
.
尝试在之前在 MessageHandler 中创建的格式化程序中获取事件编号被证明是困难的。访问HttpContext.Current.Items["MS_HttpRequestMessage"].Properties
似乎是一个不同的请求,因为它不包含事件编号。
我有两个问题:
- 我这样做是正确的还是有更好的方法?
- 如果我采用正确的方法,如何获得正确的请求以提取事件编号?
谢谢
java - Java Websocket / MessageHandler 返回全局范围?
我面临以下问题,但我还没有找到可行的解决方案。我有 3 个不同的应用程序应该相互通信:
- UI部分(一)
- 后端应用程序 (2)
- “云端”微服务 (3)
后端应用程序为 UI 提供 Web 服务 (REST),以从微服务获取信息或将信息放入微服务。我想从微服务中获取的一切都可以正常工作,但是:如果我想将数据放入微服务,规范需要 websocket 连接。这也可以正常工作,但是微服务在(不)成功命令之后返回一条消息,例如
现在的问题是:如何在我的应用程序中获取此消息并将其发送回 UI,以便用户知道命令是否成功?
目前我尝试了这个:
WebSocketClient.java
MyTotalAwesomeController.java
我可以看到 MessageHandler 返回的控制台输出,但我不知道如何将其传递给父方法以返回 insted,而不是仅返回ResponseEntity.ok()
.
我还不太习惯 Java 中的 WebSocket 连接,所以请不要评判我 ;-)
谢谢您的帮助。
c# - 从 SendAsync 方法 ASP.net Web API 消息处理程序获取响应数据
我想从 Web api 获取返回的数据并保存在我的数据库中。
我的消息处理程序代码在这里:
我实际上想从响应返回的“数据”变量中获取数据......类似于“ response.data
”......对此有任何帮助吗?
spring-integration - Spring集成几个messageHandlers
我是 Spring Integration 的新手,在这里找不到任何类似的帖子。现在我有一个 messageHandler 调用特定的 URI 并写入通道。
和集成流
现在,我必须扩展这个函数,以便调用一个额外的 URL。据我了解,MessageHandler 始终只能调用一个 URL,而 IntegrationFlow 中的处理函数只能调用一个 MessageHandler。
c# - 具有基于属性的路由的自定义消息处理程序不适用于 Web API 2
我的 Web API 2 项目中有一个消息处理程序,它将 url 更改为不同的路径。比如 url"root/controller/somevalue/detials"
会改成"root/controller/2/details"
. 其中“somevalue”或 2 是操作方法的参数。
我在调用消息处理程序之前放置了消息处理程序注册码,
config.MapHttpAttributeRoutes();
注册为
config.MessageHandlers.Add(new MyHandler());
对于正常的路线映射,它工作正常。但是,如果我启用基于属性的路由,则会调用消息处理程序并更改 url,但操作方法会被相同的“somevalue”而不是“2”命中。
这里发生了什么?
android - 在不复制相同代码的情况下,在我的应用程序的每个活动中与服务进行通信的最佳方式是什么?
我实现了一个服务,并使用一个带有其处理程序的 Messenger 作为通信桥梁。每次我开始一项活动时,我都必须遵循以下步骤:
1)创建服务连接
2) 创建信使
3)将服务绑定到我的活动
4)开始使用服务
5)在我的任务结束时,将服务与我的活动解除绑定
我需要在我的应用程序的几乎所有活动中与我的服务进行通信,并且我不想每次都重复所有代码。将所有活动扩展到父亲活动是否是一个好的解决方案?是否可以在“应用程序”中编写所有通信代码?