Yanıtlar:
Page
özel bir durum işleyicidir.
Genel Web işleyicisi ( *.ashx
, uzantı tabanlı işlemci), kullanıcı arabirimi olmayan ve @WebHandler
yönergeyi içeren tüm Web işleyicileri için varsayılan HTTP işleyicisidir .
ASP.NET sayfa işleyicisi ( *.aspx
), tüm ASP.NET sayfaları için varsayılan HTTP işleyicisidir.
Yerleşik HTTP işleyicileri arasında ayrıca Web hizmeti işleyicisi ( *.asmx
) ve İzleme işleyicisi ( trace.axd
) vardır.
MSDN diyor :
ASP.NET HTTP işleyicisi, bir ASP.NET Web uygulamasına yapılan bir isteğe yanıt olarak çalışan işlemdir (genellikle "uç nokta" olarak adlandırılır). En yaygın işleyici, .aspx dosyalarını işleyen bir ASP.NET sayfa işleyicisidir. Kullanıcılar bir .aspx dosyası talep ettiğinde, istek, sayfa işleyicisi aracılığıyla sayfa tarafından işlenir.
Aşağıdaki resim bunu göstermektedir:
İkinci sorunuza gelince:
Ashx, aspx'ten daha fazla bağlantıyı işliyor mu?
Öyle düşünme (ama kesinlikle, en azından ondan az değil).
HttpHandler
sadece bir bölümüdür. Page
.aspx
Tam yaşam döngüsünü (kullanıyor Init
, Load
, PreRender
) ve düğme tıklama vb yanıt verebilir
bir .ashx
sadece tek sahiptir ProcessRequest
yöntemi.
.aspx, oluşturulmuş bir sayfadır. Bir görünüme ihtiyacınız varsa, bir .aspx sayfası kullanın. İhtiyacınız olan tek şey arka uç işlevselliği ise ancak aynı görünümde kalacaksa, bir .ashx sayfası kullanın.