.aspx ve .ashx MAIN farkı


115

.Aspx ve .ashx sayfaları arasındaki farklar nelerdir? Koddan çağrılan ve bir yanıtla dönen bir isteği yerine getirmem gerektiğinde şimdi ashx kullanıyorum, ancak lütfen daha teknik bir yanıt istiyorum.

Yanıtlar:


101

Page özel bir durum işleyicidir.

Genel Web işleyicisi ( *.ashx, uzantı tabanlı işlemci), kullanıcı arabirimi olmayan ve @WebHandleryö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: boru hattı talebi

İ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).


teşekkür ederim, ama ashx işleyicisinden bahsetmediniz, peki boru hattı talebi?
Arrabi

1
@Arrabi, bölümden önce yürütülen isteğin HttpHandlersadece bir bölümüdür. Page
Alex

82

.aspxTam yaşam döngüsünü (kullanıyor Init, Load, PreRender) ve düğme tıklama vb yanıt verebilir
bir .ashxsadece tek sahiptir ProcessRequestyöntemi.


Bu bağlamda 'yeniden kullanılabilir' ile ne kastedilmektedir?
redcalx

11
Web sunucusunun her yeni istek için yeni bir nesne örneği oluşturma zorunluluğu olmadığını. İşleyicide IsReusable = true ise, sunucu sonraki istekleri işlemek için mevcut işleyici nesnelerini yeniden kullanabilir
quetzalcoatl

2
Böylece bir işleyici örneği yaratır ve onu yeniden kullanmak için bellekte tutar. Asla GC'ye geri vermez.
uzay95

26

.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.


Bildiğim kadarıyla, belki sayılarla daha teknik bir cevap istedim, ashx aspx'ten daha fazla bağlantıyı işliyor mu?
Arrabi

1

Daha önce nodeJ'lerde programlamış olan kişiler için, özellikle expressJS kullanarak. İşlevi çağıran .ashxbir ara yazılım olarak düşünüyorum next. While , isteğe ya etrafındaki ya da her neyse , gerçekten yanıt veren denetleyici.aspx olacaktır .res.redirectres.send

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.