4

我有一组包含在 Web 应用程序中的 Web API。

我正在尝试将它们分成 Web 应用程序的发布文件夹下的新 dll。

分离后并使用以下路由代码,单个 api 调用成功。

但是我需要将最初位于 Web 应用程序的 Application_Start() 内部的 Ninject 初始化和路由寄存器等初始化代码放入新的 dll 中。我该怎么做才能在第一次调用 api 之前调用相关代码?

routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
4

1 回答 1

1

我认为在外部组件中注册的路由和一些 nInject 代码也不会成为问题。

但是当您的控制器在外部组装时可能会出现问题。请在此处详细阅读:http: //www.strathweb.com/2012/06/using-controllers-from-an-external-assembly-in-asp-net-web-api/

将控制器放在单独的组件中非常简单。你只需要更新你的路由注册来告诉他们在哪里寻找控制器。

routes.MapRoute(name: "Default", url: "{controller}/{action}/{id}",
                namespaces: new[] {"[Namespace of the Project that contains your controllers]"},
                defaults: new {controller = "Home", action = "Index", id = UrlParameter.Optional});
于 2013-04-30T13:27:15.393 回答