Selfhost Web API参数传递

时间:2015-12-09 11:33:01

标签: c# asp.net-web-api dependency-injection

我有中间件,不同的组件互相交互。我现在正在构建一个使用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}}被调用。

1 个答案:

答案 0 :(得分:0)

我认为你在这里走错了路。您的API应该接收数据并发送数据。它不应该保留对这些引用的任何引用或调用函数的引用。调用API以获取更新本地引用所需的数据,然后根据需要调用该对象上的函数。