C# 如何创建通用输入转换输出系统
我想使用依赖项注入创建一个.NET核心代理后台服务。此代理创建接受输入的侦听器,将此输入映射到另一个对象,并将该映射对象发送到另一个服务 我必须实现多个用例(最后一个是虚构的)C# 如何创建通用输入转换输出系统,c#,.net-core,C#,.net Core,我想使用依赖项注入创建一个.NET核心代理后台服务。此代理创建接受输入的侦听器,将此输入映射到另一个对象,并将该映射对象发送到另一个服务 我必须实现多个用例(最后一个是虚构的) 侦听TCP套接字消息,对其进行转换,并将转换后的数据发送到REST API 侦听HTTP请求,对其进行转换,并将转换后的数据发送到TCP服务器,然后返回HTTP响应状态代码 每3秒生成一个随机整数,将其转换为字符串并将该字符串写入文件 所以我只是想创建一个接口,它能够接收通用值,处理它们并返回通用响应 interf
- 侦听TCP套接字消息,对其进行转换,并将转换后的数据发送到REST API
- 侦听HTTP请求,对其进行转换,并将转换后的数据发送到TCP服务器,然后返回HTTP响应状态代码
- 每3秒生成一个随机整数,将其转换为字符串并将该字符串写入文件
interface IValueProcessor<in TInput, TOutput>
{
public Task<TOutput> ProcessValue(TInput input);
}
处理器接口
{
公共任务进程值(TInput输入);
}
但我正面临着多重问题:
- 在哪里定义流程链
如何了解下一个要调用的IValueProcessor
?而且可能没有下一个实例可调用(流程的最后一步)IValueProcessor
- 如果出现故障(异常、连接超时等),
似乎更复杂,包含结果和“ResultStatus”(HTTP状态代码、异常等)TOutput
我不确定是否有帮助。看起来您正在重新发明一种“中间件”方法。只需检查HttpClient处理程序是如何实现的或ASP.NET中间件——类似的方法看起来就像是在重新发明一种“中间件”方法。只需检查如何实现HttpClient处理程序或ASP.NET中间件-类似的方法