【发布时间】:2019-06-04 02:47:50
【问题描述】:
我正在用 C# 创建一个 Web 表单项目。
其中一个关键要求是发布到 API,但可用的 API 不止一个,而是多个。
目前HttpClient 对象是为不同命名空间中的每个 API 唯一定义的,如下所示:
MyCo.Myapp.PostApi.Client1.ClientObject
MyCo.Myapp.PostApi.Client2.ClientObject
除了HttpClient,还存储了端点url和媒体类型以及一些其他配置对象。
这个想法是命名空间 Client1 或 Client2 存储在数据库中,可用于检索正确 API 的位置,以创建对象。
以上都不是一成不变的 - 它是概念形式 - 所以我想知道是否有任何其他替代方案可以考虑。
任何建议表示赞赏。
【问题讨论】:
-
API 是否对应于特定的 .NET 架构或位数?
-
为什么要使用不同的对象,而不是使用不同配置的单个对象(配置将存储在数据库中)?
-
@ParrishHusband - 它们都是我无法控制的第三方 API,但都可以使用 HttpClient 访问。例如,内容可以是 url 编码或 json - 可能使用唯一的授权字符串和不同的标头。
-
@ErikPhilips - 我确实考虑将配置放入数据库,但它往往对每个 API 都是唯一的。担心会在数据库中创建无休止的变量混搭,这将导致代码更复杂,并且如果需要更改则难以更改。
-
对不起,我读得不够仔细;您正在使用 Web 表单,所以我的评论可能没有那么有意义...
标签: c# asp.net interface webforms