Duniawi adalah kerangka kerja web "no magic" yang ringan untuk .net.
Paket ini memungkinkan aplikasi duniawi untuk di -host dengan ASP.NET.
Lihat dokumentasi duniawi untuk informasi lebih lanjut.
Instal paket nuget dedo.hosting.aspnet, lalu di ASP.NET startup call call app.UseMundane(); lulus dalam konfigurasi perutean dan dependensi.
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 ) ;
} Titik akhir dapat dieksekusi di bagian berbeda pipa ASP.NET dengan menelepon MundaneMiddleware.ExecuteRequest() . Misalnya Anda mungkin ingin melakukan penanganan kesalahan khusus sambil tetap menggunakan mesin duniawi.
Melewati HttpContext saat ini dan konfigurasi routing dan dependensi akan menjalankan titik akhir yang cocok dengan permintaan tersebut.
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
Routing routing )Dimungkinkan juga untuk menjalankan titik akhir spesifik dengan:
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
MundaneEndpoint endpoint ,
Dictionary < string , string > routeParameters ) Titik akhir harus merupakan MundaneEndpoint yang memiliki tanda tangan ValueTask<Response> Endpoint(Request request) . Tanda tangan titik akhir duniawi lainnya dapat dikonversi ke MundaneEndpoint dengan memanggil MundaneEndpointFactory.Create() misalnya
MundaneEndpointFactory . Create ( ( ) => Response . Ok ( o => Write ( "Hello World!" ) ) ) ; Karena tidak ada informasi perutean dalam versi ExecuteRequest() , Anda juga harus menyediakan kamus routeParameters yang sesuai untuk titik akhir. Ketika disebut sebagai bagian dari pipa, duniawi membuat kamus parameter yang ditangkap dari URL, misalnya untuk rute /my-endpoint/{id} , disebut dengan /my-endpoint/123 , duniawi melewati new Dictionary<string, string> { { "id", "123" } } sebagai routeParameters .
Jika titik akhir tidak memerlukan parameter rute, lewati kamus kosong: new Dictionary<string, string>(0); .