我有几个用 MVC WebAPI 开发的 webAPI,例如
public IHttpActionResult SendBroadcast(FinalPayload FinalPayload)
我想从这个 API 内部调用另一个 Web api。我的所有 API 都在同一个应用程序中。第二个API的签名是
public IHttpActionResult SendMessage(Notifications)
从我尝试的第一个 API
this.SendMessage(Notifications)
并收到错误消息,例如引用静态对象....
我想知道是否允许这种调用 webAPI 的方式,或者我是否必须调用 Web 客户端或类似的客户端。
对此的任何帮助将不胜感激。
最佳答案
第一种方法
您必须重新设计应用程序中的代码,即解决方案。
- 创建一个类库项目。为不同项目通用和使用的逻辑/功能创建一个接口(interface)。
- 在类库项目中实现接口(interface)。
- 在不同的项目(即 WebAPI 项目)中使用该接口(interface)来访问通用功能。
第二种方法
正如您所想,您当然可以创建一个 Web 客户端来访问另一个项目中的 Web API。
- 这不是一个好的设计,您的问题并未真正得到解决(只是被规避)。
- 效率低下,因为 Web 客户端将使用 http 请求来访问同一解决方案中的代码。
- 为了将来的维护,您最终可能会创建多个网络客户端。
关于c# - 从同一应用程序中的另一个 Web API 调用 Web Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43528456/