Asp.net 코어 라우팅 경로 처리기 Giriş.

2271 단어 csharpdotnet
Diyelim ki controller'lara düşmeyen bir istek yapmanız gerekiyor mesela mustafa'ya bir şeyler söyleteceksiniz ama bunun için controller da metot koymak gereksiz diye düşünüyorsunuz.

외르네긴:

https://localhost:5001/mustafa?saysomething=BenimAdimMustafa


말하다:

BenimAdimMustafa


yazmasını istiyoruz ama bu isteğin controller'dan geçmesini de istemiyoruz. 당신은 무엇입니까?

1.) Model-view-controller projesi oluşturun.

2.) SaySomething은 다음과 같은 클래스를 제공합니다.

public class SaySomething
    {
        public RequestDelegate Handler()
        {
            return async c => await Task.Run(async () =>
            {
                string message = c.Request.Query["saysomething"].ToString();
                await c.Response.WriteAsync(message);
            });
        }
    }


3.) 끝점'lerimizi aşağıdaki gibi değiştirelim:

app.UseEndpoints(endpoints =>
            {
                endpoints.Map("mustafa", new SaySomething().Handler());
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });


Şimdi uygulamayı çalıştıralam ve aşağıdaki linke istek atalım :

https://localhost:5001/mustafa?saysomething=BenimAdimMustafa

Gördüğünüz üzere :



소누크 :
  • Eğer controllerdan geçmesini istemediğiniz bir istek yapmak istersek custom Route Handler oluşturabiliriz.
  • endpoints.Map belirli bir path için belirli bir metot çalıştırmamıza yarayabilir. Ve endpoints.Map metodu ikinci paramere olarak RequestDelagete döndüren bir metot alır.

  • Bir dahaki yazımda görüşmek dileğiyle.

    이 딜레클레림 일레.

    무스타파 사메드 예인.

    좋은 웹페이지 즐겨찾기