我有中间件,不同的组件互相交互。我现在正在构建一个使用OWIN和.NET WebAPI与第三方交互的自主Web API。我的问题是我需要将一个对象引用传递给我的控制器,所以当通过GET或POST请求调用控制器时,它可以调用传递对象的函数。在这种情况下,依赖注入并没有帮助我,因为我需要传递一个现有对象的引用而不是创建一个新对象。
WebAPI是在ExternalWebAPI类的启动函数中创建的:
public virtual void Start()
{
server = WebApp.Start<WebAPIStartup>(url: baseAddress);
UpdateStatus("Active","True");
}
现在我的控制器看起来像这样:
class TradesController:ApiController
{
TradeRequest PostTradeRequest(TradeRequest tradeRequest)
{
return tradeRequest;
}
}
我希望能够使用TradesController
传递对ExternalWebAPI
课程的this
的引用,所以从TradesController
开始我会打电话给我ExternalWebAPI
功能。我查看了DI,但是我没有找到一个好方法,因为重要的是传递启动了WebAPI的ExternalWebAPI
类的实例,因为它有其他必须调用的方法和事件一旦TradesController
的{{1}}被调用。
答案 0 :(得分:0)
我认为你在这里走错了路。您的API应该接收数据并发送数据。它不应该保留对这些引用的任何引用或调用函数的引用。调用API以获取更新本地引用所需的数据,然后根据需要调用该对象上的函数。