Posinformatique.aspnetcore.server.aspnet é uma biblioteca para hospedar a API da Web .NET Core no ASP .NET NÃO-CORE (WebForms e MVC) Infraestrutura com base na estrutura .Net.


O posinformatique.aspnetcore.server.aspnet é um IHttpHandler não-core ASP .NET, que é executado dependendo de rotas configuradas na infraestrutura não-core ASP .NET. Quando o posinformatique.aspnetcore.server.aspnet IHttpHandler A implementação interna é chamada, a consulta HTTP é enviada ao ASP .NET Core Infrastructure, que executa a consulta com o mesmo comportamento se for hospedado em um IIS dedicado, console ou host Kestrel.
O posinformatique.aspnetcore.server.aspnet está disponível diretamente no site oficial do NUGET. Para baixar e instalar a biblioteca no seu projeto Visual Studio usando a seguinte linha de comando NUGET
Install-Package PosInformatique.AspNetCore.Server.AspNet
No novo projeto ASP .NET Web Forms/MVC, não-núcleo, instale o ASP .NET CORE 2.x Infraestrutura usando o seguinte comando NuGet:
Install-Package Microsoft.AspNetCore
Install-Package Microsoft.AspNetCore.Mvc
Depois de adicionar o pacote posinformatique.aspnetcore.server.aspnet no seu projeto ASP .NET WebForms ou MVC não-core, dentro do Application_Start da sua classe HttpApplication COMBRA E SOTIVA EM Startup WebHost.CreateDefaultBuilder() e a Instância Related IWebHost (RELATION) e o Classic WebHost. Em vez disso, para escolher o Kestrel ou o IIS para hospedar seu aplicativo ASP .NET Core, ligue para o método UseAspNet() para hospedar seu aplicativo ASP .NET Core na infraestrutura não-core ASP .NET.
O UseAspNet() requer definir as rotas básicas que serão interceptadas e processarão pela infraestrutura do núcleo do ASP .NET em vez de não-core .NET.
Este é um exemplo de um código Global.asax.cs por trás do qual construa, inicie um aplicativo ASP .NET Core e redirecione toda a solicitação iniciada por /api e / / / /swagger URLs para o aplicativo ASP .NET Core:
public class Global : System . Web . HttpApplication
{
protected void Application_Start ( object sender , EventArgs e )
{
WebHost . CreateDefaultBuilder ( )
. UseAspNet ( options =>
{
options . Routes . Add ( "api" ) ;
options . Routes . Add ( "swagger" ) ;
} )
. UseStartup < Startup > ( )
. Start ( ) ;
}
} Você pode configurar seu aplicativo ASP .NET Core, como de costume, com a classe Startup , registrando serviços adicionais. Este é um exemplo de uma classe Startup que registra a infraestrutura do MVC do ASP .NET Core e as extensões Swashbuckle.aspnetCore para adicionar a documentação usando a interface do usuário do Swagger.
public class Startup
{
public Startup ( IConfiguration configuration )
{
Configuration = configuration ;
}
public IConfiguration Configuration { get ; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices ( IServiceCollection services )
{
services . AddMvc ( ) ;
services . AddSwaggerGen ( c =>
{
c . SwaggerDoc ( "v1" , new Info { Title = "My API" , Version = "v1" } ) ;
// Set the comments path for the Swagger JSON and UI.
var xmlFile = $ " { Assembly . GetExecutingAssembly ( ) . GetName ( ) . Name } .xml" ;
var xmlPath = Path . Combine ( AppContext . BaseDirectory , "bin" , xmlFile ) ;
c . IncludeXmlComments ( xmlPath ) ;
} ) ;
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure ( IApplicationBuilder app , IHostingEnvironment env )
{
if ( env . IsDevelopment ( ) )
{
app . UseDeveloperExceptionPage ( ) ;
}
app . UseMvc ( routes =>
{
routes . MapRoute (
name : "default" ,
template : "{controller=Home}/{action=Index}/{id?}" ) ;
} ) ;
// Enable middleware to serve generated Swagger as a JSON endpoint.
app . UseSwagger ( ) ;
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint.
app . UseSwaggerUI ( c =>
{
c . SwaggerEndpoint ( "/swagger/v1/swagger.json" , "My API V1" ) ;
} ) ;
}
} Você precisa usar apenas os componentes e o serviço do núcleo do ASP .NET dentro da implementação dos controladores. Evite o acesso aos componentes ou serviços do ASP .NET NÃO-CORE das implementações dos seus controladores. Por exemplo, certifique-se de acessar o ASP .NET CORE HttpContext dentro do código dos controladores e não use o HttpContext não-core ASP .NET.

Como é mostrado no desenho de arquitetura anterior, no código dos controladores, você deve usar apenas na API do ASP .NET Core, mesmo que você possa acessar a API de infraestrutura não-core ASP .NET.
Como o núcleo do ASP .NET 3.x é baseado apenas no tempo de execução do .NET Core 3.0 (e não no padrão .NET 2.0 como antes com o CORE 2.X ASP .NET), essa biblioteca não pode ser usada para hospedar ASP .NET CORE 3.x API da Web na infraestrutura não-core .NET.
Atualmente, o posinformatique.aspnetcore.server.aspnet pode funcionar apenas com a infraestrutura Core ASP .NET RAW e para as implementações dos controladores de API da Web. Não é possível usar esta biblioteca com as visualizações MVC Razor, porque o projeto do Visual Studio usa o compilador da Web do ASP .NET.
Não hesite em clonar meu código e enviar algumas mudanças ... é um projeto de código aberto, para que todos sejam bem -vindos para melhorar essa biblioteca ... A propósito, eu sou francês ... então talvez você comente que meu inglês não seja realmente fluente ... então não hesite em consertar minhas seqüências de recursos ou minha documentação ... Merci!
Quero agradecer à Dilitrust Company a testar e me deu o feedback desta biblioteca por seus aplicativos ASP .NET WebForms que incorporaram a API desenvolvida na Web do ASP .NET Core.