Server.Transfer’den Kaçınma – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
HTTP İşleyici Tasarım Konuları
Yıllar boyunca öğrendiğim bir şey, aynı şeyin birçok farklı şekilde başarılabileceği ve bu farklı yolların her birinin artıları ve eksileri olduğu. Bu nedenle, XlsReportHandler kullanarak dosyaların nasıl talep edileceğine bir göz atmadan önce, ona giren birkaç tasarım öğesini ve neden seçildiklerini tartışmak için biraz zaman ayıralım.
Bağlam ve Sorgu Dizgisi
Daha önce belirtildiği gibi, XlsReportHandler rapor parametrelerini Context nesnesi aracılığıyla iletir. Başka bir seçenek de bu parametreleri sorgu dizesinde iletmektir. Çoğu kişi sorgu dizesine daha aşinadır ve bu nedenle onunla daha rahattır, bu nedenle öğeleri Bağlam nesnesine yerleştirme kararı ilk başta biraz kafa karıştırıcı olabilir.
İşte arkasındaki mantık. Sorgu dizelerinin yararlı olması için ayrıştırılması gerekir. İlk etapta rapor parametresini çıkarmak için kendi ayrıştırmamızı yapmak zorunda olduğumuzu fark edeceksiniz, bu nedenle onu yeniden ayrıştırılması gerekecek bir formata geri koymak israf gibi görünüyor. Bu nedenle, bu bir verimlilik sorunudur.
Elbette, sorgu dizesini kullanmanın çok mantıklı olduğu zamanlar vardır. Örneğin, raporlama sayfanızı zaten oluşturduysanız ve sayfa, parametrelerin sorgu dizesi kullanılarak iletilmesini bekliyorsa, sayfayı yeniden kodlamak zorunda kalmamak için sorgu dizesini kullanarak parametreleri sayfaya iletebilirsiniz.
Sorgu Dizisini Kullanarak Parametreleri Geçirme
Request nesnesinin Querystring özelliği salt okunurdur, yani sorgu dizesi öğelerini ekleyemez veya değiştiremezsiniz. Öğeleri sorgu dizesi boyunca iletmek istiyorsanız, yeni bir sorgu dizesi oluşturmanız ve bunu RewritePath yöntemine ilettiğiniz sayfa yoluna eklemeniz gerekir. RewritePath yöntemi, Querystring özelliğinden mevcut tüm bilgileri kaldırır ve yeni sorgu dizesi verileriyle yeniden başlatır.
Bunun nasıl yapıldığını tam olarak görebilmeniz için bir örneğe bakalım. Rapor B, oda adı ve rapor tarihi olmak üzere iki farklı parametreyi kabul eder. Bu iki parametreyi içeren bir sorgu dizesinin nasıl oluşturulacağını ve RewritePath yöntemine nasıl geçirileceğini gösterir.
Server.Transfer’den Kaçınma
Birçok geliştirici, istemciye gidiş-dönüş yapmak zorunda kalmadan sunucudaki bir yeniden yönlendirmeyi yönetmenizi sağlayan Server.Transfer yöntemine aşinadır.
Bu yöntem ayrıca aktarım sırasında Bağlam ve İstek nesnelerini olduğu gibi bırakır, bu nedenle onu XlsReportHandler gibi bir HTTP İşleyicide kullanmak cazip gelebilir. Bu örnekte bir verimlilik meselesi olarak kullanmadım. Server.Transfer, ASP.NET’in aktarımı tamamen yeni bir istek olarak ele almasını sağlar.
Bu, HTTP Ardışık Düzenindeki tüm bileşenlerin iki kez çalıştırılacağı anlamına gelir. XlsReportHandler tarafından kullanılan tekniği kullanan ASP.NET’in isteği yeniden işlemesi gerekmez. Elbette, bir sonraki “Güvenlik Hususları” bölümünde özetlenen nedenlerden dolayı, aktarımı yeni bir talep olarak ele almak isteyebilirsiniz.
Domain transfer
Ftp server Nedir
FTP sunucusu açma
FTP Server Kurulumu
Sftp Nedir
Ftp Nedir ne İşe Yarar
Upnp nedir
FTP açılımı
Güvenlik Hususları
PageParser.GetCompiledPageInstance yöntemi tarafından döndürülen HTTP İşleyicisini kullandığınızda, sayfayı yürütmek için tüm HTTP Ardışık Düzenini yeniden çalıştırmak zorunda kalmazsınız. Elbette, ASP.NET’teki kimlik doğrulama ve yetkilendirme gibi temel güvenlik özelliklerinin birçoğu HTTP Ardışık Düzeninin bir parçası olarak uygulanır, bu nedenle uygulamanızı tasarlarken aklınızda bulundurmanız gereken bazı güvenlik hususları vardır.
Örnek uygulamanın XlsReports klasöründeki Web.config dosyasına bakarsanız, tüm kullanıcıların tüm içeriğe erişiminin reddedildiğini fark edeceksiniz. Rapor oluşturma sayfalarından herhangi birine doğrudan erişmeye çalışırsanız, Erişim Reddedildi hatası alırsınız. Ancak “sahte” bir URL kullanarak bir dosya talep ettiğinizde rapora sorunsuz bir şekilde ulaşabilirsiniz.
Bu istek HTTP Ardışık Düzeninden geçtiğinde, yetkilendirme modülü, gerçekte yol olmadığı halde aslında “gerçek” bir dosya talep ettiğiniz varsayımı altında çalışır. Var olmayan yolda herhangi bir yetkilendirme kısıtlaması olmadığından, istek yetkilendirmeyi geçer.
Pageparser.GetCompiledPageInstance kullanarak bir sayfa edindiğinizde, yetkilendirme modülünü tamamen atlamış olursunuz. Bu, sayfayı görüntülemek için uygun izinlere sahip olmayan bir kullanıcıya yanlışlıkla bir sayfa gösterebileceğiniz anlamına gelir. Bu sorundan kaçınmanın bir yolu, gösterildiği gibi doğrudan kısıtlanmış sayfada kod tabanlı yetkilendirmeyi kullanmaktır.
Sayfadaki yetkilendirme kodu, yetkilendirme modülü çalışmasa bile çalışır, böylece sayfanız her çalıştığında güvenli kalır. Şimdi raporları almak için XlsReportHandler’ın nasıl kullanılacağına bakmanın zamanı geldi.
Raporları Almak için XlsReportHandler’ı Kullanma
XlsReportHandler kullanarak raporların alınması iki şey gerektirir. İlki, işleyicinin XlsReport klasöründeki Excel dosyalarına yönelik istekleri yakalayabilmesi için uygun şekilde yapılandırılmış bir Web.config dosyasıdır. İkinci şey, XlsReportHandler’ın hangi raporun istendiğini ve hangi parametrelerin rapora gönderilmesi gerektiğini belirleyebilmesi için her rapor için uygun dosya adlarını oluşturmanın da bir yoludur.
■Not : ASP.NET’in .XLS dosyalarını işlemesine izin vermek için IIS uygulama uzantısı eşlemelerini güncellediğinizden emin olun. Aksi takdirde, XlsReportHandler’ı kullanmaya çalıştığınızda 404 hatası alırsınız. Bu eşlemeler hakkında daha fazla bilgi için bu bölümün başlarındaki “IIS’de Dosya Uzantılarını Eşleme” bölümüne bakın.
Xls Rapor İşleyicisini Yapılandırma
XlsReportHandler için HTTP İşleyici yapılandırmasını, uygulamanızın XlsReport klasöründeki bir Web.config dosyasına yerleştireceksiniz. Bu, tek bir giriş gerektirdiğinden gerçek yapılandırma ayarlarını da basitleştirecektir.
Web.config’in <httpHandlers> bölümünde dört öğe vardır. İlki olan <clear />, klasörün herhangi bir istenmeyen işleyici ayarını devralmamasını sağlar. Sonraki, bu klasördeki veya bu klasörün herhangi bir alt klasöründeki bir Excel dosyasına yönelik tüm isteklerin XlsReportHandler’a geçmesini de sağlar.
Üçüncüsü, standart sayfa işleyicinin Invalid.aspx dosyası isteklerini kabul etmesine izin verir. Son giriş diğer tüm istekleri engellediğinden, standart sayfa işleyicinin Invalid.aspx isteklerini kabul etmesine açıkça izin vermemiz gerekir. Bu, kişilerin ReportA.aspx, ReportB.aspx, ReportC.aspx veya Web.config’e doğrudan erişemeyeceği anlamına da gelir.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)