Проблема создания маршрутов, которые указывают на динамически загружаемый класс из сборок? - PullRequest
0 голосов
/ 20 января 2020

Я работаю как pnet -core 3.1, и у меня есть эта проблема; Я создаю приложение, оно использует dll, которые загружаются в configure, как вы можете видеть в следующем блоке:

//src is a Dictionary based in Assemblies dynamically loaded from dll-files.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{

 foreach (var src in srcs)
 {
  routes.MapRoute( 
   name : src.ControllerAlias , 
   template : src.URL , 
   defaults : new 
      { controller = src.ControllerName , action = src.Action } ,
   constraints: null,
   dataTokens : new 
   RouteValueDictionary()
    {  { "Namespaces", new string[] { src.NameSpace} } } 
    );
 } 

}

Контроллеры классов расположены в одном и том же пространстве имен в разных dll. Но это не проблема, потому что я могу создать экземпляр всех контроллеров классов (все наследование от контроллера)

Когда я загружаю DLL, я проверяю 3- mvc -контроллеры, и приложение может экземпляр классов.

Проблема в том, что URL / конечные точки / маршруты всегда возвращают 404. (Нет страницы)

class DLLModel 
{
  Assembly assmbly = null ,
  string URL = "/WebServices/Home/Index.html";
  string Controller = "HomeController"; // This is a classic Controller Example.
  string Action = "Index";
  string ControllerAlias = "HomeController.Index";
  string NameSpace = "Sample.Package";
}

//...
  var srcs = new Dictionary<string,DLLModel>();
...