POSINFORMATIQUE.ASPNETCORE.SERVER.ASPNET ADALAH PERPUSTAKAAN UNTUK HOST ASP .NET Core Web API pada ASP .NET Non-Core (WebForms dan MVC) infrastruktur berdasarkan .NET Framework.


Posinformatique.aspnetcore.server.aspnet adalah ASP .net non-core IHttpHandler yang dieksekusi tergantung pada rute yang dikonfigurasi dalam infrastruktur non-inti ASP .NET. Ketika posinformatique.aspnetcore.server.aspnet IHttpHandler Implementasi internal disebut, kueri HTTP dikirim ke infrastruktur inti ASP .NET yang mengeksekusi kueri dengan perilaku yang sama jika di -host di IIS, konsol atau tuan rumah konsol yang berdedikasi.
PosinFormatque.aspnetcore.server.aspnet tersedia langsung di situs web resmi Nuget. Untuk mengunduh dan menginstal perpustakaan ke proyek Visual Studio Anda menggunakan baris perintah NUGET berikut
Install-Package PosInformatique.AspNetCore.Server.AspNet
Dalam Asp .NET Web Forms/Proyek Non-Core yang baru.
Install-Package Microsoft.AspNetCore
Install-Package Microsoft.AspNetCore.Mvc
Setelah menambahkan paket PosInFormatique.aspnetcore.server.aspnet pada Asp .net WebForms Anda atau proyek non-core MVC, di dalam Application_Start aplikasi HttpApplication Anda, CLASSEPLICATION CLASS, CLASSED, dan MULAI CORE IWEBHOST KLASSED (CLASSEP.CREATEDEDEFAULDER WebHost.CreateDefaultBuilder() dan IWebHost TERKAIT. Dan CLASTED COPLET. Startup CLASSED CLASSED, dan KAPOUTED CLASSEUP. Alih-alih memilih Kestrel atau IIS untuk meng-host aplikasi ASP .NET Core Anda, hubungi metode UseAspNet() untuk meng-host aplikasi ASP .NET Core Anda pada infrastruktur non-inti .NET .NET.
UseAspNet() mengharuskan untuk mendefinisikan rute dasar yang akan dicegat dan diproses oleh infrastruktur inti ASP .NET alih-alih ASP .NET non-core.
Ini adalah contoh dari kode Global.asax.cs di belakang yang dibangun, mulai aplikasi ASP .NET Core dan mengarahkan semua permintaan yang dimulai oleh /api dan /swagger ke aplikasi 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 ( ) ;
}
} Anda dapat mengonfigurasi aplikasi ASP .NET Core Anda seperti biasa dengan kelas Startup dengan mendaftarkan layanan tambahan. Ini adalah contoh kelas Startup yang mendaftarkan infrastruktur MVC ASP .NET Core dan ekstensi swashbuckle.aspnetcore untuk menambahkan dokumentasi menggunakan Swagger UI.
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" ) ;
} ) ;
}
} Anda harus hanya menggunakan hanya komponen dan layanan ASP .NET Core di dalam implementasi pengontrol Anda. Hindari untuk mengakses komponen atau layanan ASP .NET non-inti dari implementasi pengontrol Anda. Misalnya, pastikan untuk mengakses ASP .NET Core HttpContext di dalam kode pengontrol Anda dan jangan gunakan ASP .NET non-core HttpContext .

Seperti yang ditunjukkan dalam gambar arsitektur sebelumnya, dalam kode pengontrol Anda yang harus Anda gunakan hanya untuk ASP .NET Core API bahkan Anda dapat mengakses ASP .NET Non-Core Infrastructure API.
Karena ASP .NET Core 3.x hanya didasarkan pada runtime .NET Core 3.0 (dan bukan pada .NET Standard 2.0 seperti sebelumnya dengan ASP .NET Core 2.x), pustaka ini tidak dapat digunakan untuk meng-host ASP .NET Core 3.x Web API pada infrastruktur non-inti .NET.
Saat ini posinformatique.aspnetcore.server.aspnet hanya dapat bekerja dengan infrastruktur inti ASP .NET RAW dan untuk implementasi pengontrol API Web. Tidak mungkin menggunakan pustaka ini dengan tampilan pisau cukur MVC, karena proyek Visual Studio menggunakan asp .net non-core Web Compiler.
Jangan ragu untuk mengkloning kode saya dan mengirimkan beberapa perubahan ... Ini adalah proyek open source, jadi semua orang dipersilakan untuk meningkatkan perpustakaan ini ... ngomong -ngomong, saya orang Prancis ... jadi mungkin Anda akan berkomentar bahwa bahasa Inggris saya tidak terlalu fasih ... jadi jangan ragu untuk memperbaiki string sumber daya saya atau dokumentasi saya ... Merci!
Saya ingin berterima kasih kepada perusahaan Dilitrust untuk menguji dan memberi saya umpan balik mereka tentang perpustakaan ini untuk aplikasi WebForms ASP .NET mereka yang tertanam API berkembang di ASP .NET Core Web.