Mundano é uma estrutura leve "sem mágica" da Web para .NET.
Este pacote permite que um aplicativo mundano seja hospedado com asp.net.
Consulte a documentação mundana para obter mais informações.
Instale o pacote mundano.hosting.aspnet NUGET e, em seguida, no seu código de inicialização ASP.NET, chamada de chamada app.UseMundane(); passando na configuração de roteamento e dependências.
public void Configure ( IApplicationBuilder app , IWebHostEnvironment env )
{
var dependencies = new Dependencies (
new Dependency < Configuration > ( new Configuration ( env ) ) ,
new Dependency < DataRepository > ( request => new DataRepositorySqlServer (
request . Dependency < Configuration > ( ) . ConnectionString ) ) ) ;
var routing = new Routing (
routeConfiguration =>
{
routeConfiguration . Get ( "/" , HomeController . HomePage ) ;
routeConfiguration . Get ( "/data/{id}" , DataController . GetData ) ;
routeConfiguration . Post ( "/data/{id}" , DataController . UpdateData ) ;
} ) ;
app . UseMundane ( dependencies , routing ) ;
} Os pontos de extremidade podem ser executados em uma parte diferente do pipeline do ASP.NET chamando MundaneMiddleware.ExecuteRequest() . Por exemplo, você pode querer fazer um manuseio de erros personalizado enquanto ainda usa o mecanismo mundano.
A passagem do HttpContext atual e a configuração de roteamento e dependências executará o terminal que corresponde à solicitação.
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
Routing routing )Também é possível executar um terminal específico com:
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
MundaneEndpoint endpoint ,
Dictionary < string , string > routeParameters ) O endpoint deve ser um MundaneEndpoint que possui o ValueTask<Response> Endpoint(Request request) . Qualquer uma das outras assinaturas de ponto de extremidade mundana pode ser convertida em um MundaneEndpoint chamando MundaneEndpointFactory.Create() por exemplo
MundaneEndpointFactory . Create ( ( ) => Response . Ok ( o => Write ( "Hello World!" ) ) ) ; Como não há informações de roteamento nesta versão do ExecuteRequest() , você também deve fornecer um dicionário routeParameters apropriado para o terminal. Quando chamado como parte do pipeline, o mundano cria um dicionário de parâmetros capturados a partir do URL, por exemplo, para a rota /my-endpoint/{id} , chamado com /my-endpoint/123 , mundano passa como new Dictionary<string, string> { { "id", "123" } } como routeParameters .
Se o endpoint não exigir parâmetros de rota, passe um dicionário vazio: new Dictionary<string, string>(0); .