実行時に別のクラスライブラリにODataControllerをロード/注入してそのサービスをルートにしたいVS2013の下にOData V3 C#プロジェクトがあります。問題は、コントローラに解決するためのルートを取得できないことです。例えば実行時にOData V3コントローラを追加する - コントローラが見つかりません
public static void Register(HttpConfiguration config)
{
var builder = new ODataConventionModelBuilder();
<lots of 'local' builder.EntitySet<***>("***") calls>
builder.EntitySet<Test>("Tests");
var assembly = Assembly.LoadFrom("<full path to classlib.dll>");
// test that we can find and load an instance
var type = assembly.GetType("WebApi.Extensions.TestsController");
var obj = Activator.CreateInstance(type);
// no errors so far. I can 'see' into 'obj'
config.Routes.MapODataRoute("odata", "odata", builder.GetEdmModel());
}
誰が、なぜ見ることができます:私はこれを持って
namespace WebApi.Extensions
{
public class TestsController : ODataController
{
var t = "some string";
public IHttpActionResult Get(ODataQueryOptions<Test> queryOptions)
{
...
}
}
}
そして、私のWEBAPIレジスタ()メソッドで:http://localhost/odata/Tests
"No type was found that matches the controller named 'TestsController'"
は、ここに私のコントローラは、別のクラスライブラリで次のようになります。私はコントローラクラスに解決するためのルートを取得できませんか?私はそれを一緒にフックするものを逃していますか?