Reklami Kapat

asp.net

ajax ve asp.net e-book download indir

View: 83 times, ISBN: 047178544X Publisher : Wrox Author: Wallace B. McClure, Scott Cate, Paul Glavich, Craig Shoemaker

Ajax has the power to revolutionize the way web-based applications are designed. This book provides you with a thorough working knowledge of what Ajax has to offer and how to take full advantage of it in your application development. Following an exploration of how Ajax works with .NET, you’ll get acquainted with DHTML, the role of JavaScript and the Document Object Model, and the XMLHttpRequest Object, which is the foundation of Ajax. Then you will examine the Ajax-type features built into ASP.NET and explore the Ajax.NET Professional Library in detail. Finally, you will explore client scripting as well as building and using controls with Microsoft’s Atlas. With an entire chapter devoted to debugging, you will have all you need to use this cutting-edge technology. What you will learn from this book * What you can do with the open source Ajax.NET Professional Library * How to use the corresponding functionality, Asynchronous Client Script Callbacks, that comes with ASP.NET 2.0 * Techniques for using the XMLHttpRequest Object to communicate between the client web browser and the server * An overview of XML, XSLT, and other ways to send data between client and server * How to integrate Microsoft’s Atlas with many of the services available in ASP.NET 2.0 Who this book is for This book is for programmers who use ASP.NET and are just starting to use Ajax technologies to create more responsive, modern applications. Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved. Yazının devamını oku. »

Web.config dosyasından veri tabanına bağlanma

Asp.Net Veri tabanı işlemlerinde veri tabanı bağlantıları genelde PageLoad eventinde tanımlanır. Fakat büyük bir projede çalıştığımızı ve ilerde veri tabanı yolunun değişebilme ihtimalini göz önünde bulundurursak, tüm sayfaların pageload eventlerinde bu yolun değişeceğini bilmemiz gerekir. 50 Sayfanız olsa 50 kere aç değiştir yapacaksınız

Web.config dosyasıyla bu bağlantının bir kere yapılıp, değişme durumundada sadece web.config dosyasından değiştirileceğini biliyorsunuz sanırım. Bilmiyorsanızda öğrenmiş olacaksınız.

Web.config dosyasını açalım ve connectionstrings etiketlerinin arasına bağlantımızı aşağıdaki şekilde ekleyelim.

<connectionStrings>
<addname=AktepeconnectionString=Provider=Microsoft.Jet.oledb.4.0;Data Source=|DataDirectory|\Aktepe.mdbproviderName=System.Data.Oledb/>
</connectionStrings>
Evet web.config dosyasında veri tabanı yolumuzu bu şekilde belirttik. Burada DataDirectory, sizin projenizdeki App_Data Klasorunu kastediyor.
Şimdi gelelim sayfamıza ve nasıl verileri alacağımıza bakalım. Sayfamıza en basitinden bir gridview koyalım.
Kodların en üstüne
using System.Web.Configuration;  yazmayı unutmuyoruz  ve PageLoad eventine aşağıdaki kodları yazalım.

string baglanti = WebConfigurationManager.ConnectionStrings["Aktepe"].ConnectionString; //Buradaki Aktepe,  config dosyasında bağlantıma belirttiğim isim. (Yani name=Aktepe” )

OleDbDataAdapter da = new OleDbDataAdapter(“Select * from Personel”, baglanti);
DataSet ds =new DataSet();
da.Fill(ds, “Personel”);
GridView1.DataSource = ds;
GridView1.DataBind();
Evet artık verileri çektik ve gridviewde görüntüledik. Oledbconnection ortalıkta görünmüyor gördüğünüz gibi

ASP’den ASP.Net’e Geçiş

ASP.Net ne kadar yeni bir teknoloji de olsa, ASP.Net’e en büyük geçişler “Klasik ASP” kullanıcılarından olmaktadır. Bu kullanıcılar yıllardır bekledikleri bir çok özelliği birden tek bir teknolojide görünce hızlı bir geçişe başladılar.

ASP bilen kullanıcılar için, ASP.Net’i sıfırdan öğrenmek pek kolay olmuyordu. Onlar nelerin değiştiğini merak ediyorlardı ya da klasik asp’de yaptıkları işlemlerin .Net’te nasıl yapılacaklarını. Bende bu yazımızda, klasik ASP kullanıcıları için bir yol haritası hazırlamayı uygun gördüm.

1. Response ve Request nesneleri

Klasik ASP’de elimiz ayağımız olan Response ve Request nesneleri ASP.Net’te de bulunuyor. Normal kodlarınız içinde kullanabilirsiniz. Ancak, birkaç değişikliğe gidilmiş.

Klasik ASP:
Response.Write “Merhaba Dünya”

ASP.Net [VB.Net]
Response.Write(“Merhaba Dünya”)

ASP.Net [C#]
Response.Write["Merhaba Dünya"];

2. Include

Yine ASP ile çok sık kullandığımız include file sunucu kontrolü olduğu için ASP.Net’te de olmasına rağmen, ASP.Net Kullanıcı Kontrolleri (User Controls) sayesinde çok daha esnek bir yapıya izin veriyor. Örneğin siz ASP’de sayfanıza reklam.asp isimli bir dosya ekliyordunuz.

Klasik ASP:
<!– #include file=”reklam.asp” –>

ASP.Net:
İlk önce reklam.asp’yi reklam.ascx yapın. Sonra bu sayfanın ilk satırına aşağıdaki kodu ekleyin.

[VB.Net]
<% Control Language = “VB” %>

[C#]
<% Control Language = “C#” %>

Sonra reklam.asp’yi eklediğiniz sayfanın başına da şu kodu ekleyin.

<%@ Register TagPrefix=”Ad” TagName=”Banner” Src=”reklam.ascx” %>

Son olarakta reklam.ascx’in sayfanızda nerelerde görünmesini istiyorsanız, oralara aşağıdaki kodu ekleyin.

<Ad:Banner runat=”server” id=”Reklam”></Ad:Banner>

Daha zahmetli gibi de dursa, Kullanıcı Kontrolleri’nin özelliklerini öğrenince, aslında çok faydalı olduğunu göreceksiniz.

3. Değişken tanımlama ve “Option Explicit”

VBScript, bizi değişken tanımlama konusunda zorlamazdı; ancak biz daha stabil kodlar yazmak için Option Explicit komutunu kullanarak; değişken tanımlamayı zorunlu hale getiriyordu. ASP.Net’te zaten değişken tanımlamak zorunlu; bu yüzden Option Explicit’i ayrı olarak kodda yazmıyoruz; bunu Page Directive denen bölümde tanımlıyoruz.


Klasik ASP:
<% Option Explicit %>

ASP.Net [VB.Net]:
<%@ Page Language=”VB” Explicit = “True”%>

ASP.Net [C#]:
<%@ Page Language=”C#” Explicit = “True”%>

4. Set anahtar sözcüğü

Klasik ASP’den hatırladığımız Set anahtar sözcüğü VB.Net’te bulunmamaktadır.

Klasik ASP:
<% Set objConn = Server.CreateObject(“Adodb.Connection”) %>

ASP.Net [VB.Net]:
<% objConn = Server.CreateObject(“Adodb.Connection”) %>

5. ADO yerine ADO.Net

Klasik ASP’de veritabanı işlemleri için ADO kullanılırdı; ancak ASP.net ile beraber ADO.Net geliştirildi ve kullanıma sunuldu. Bu yüzden veritabanı uygulamaları biraz değişti. Örneğin bir önceki madde de bir Connection nesnesinden bahsettik ama bu ADO kullanılan hali idi; bunu ADO.Net’e şöyle çevirebiliriz.

Klasik ASP:
<% Set objConn = Server.CreateObject(“Adodb.Connection”) %>

ASP.Net [VB.Net]:
Dim objConn as new OleDbConnection(“[Bağlantı satırları…]“)

ASP.Net [C#]:
OleDbConnection objConn = new OleDbConnection(“[Bağlantı satırları…]“);


6. <script></script> blokları

ASP.Net’te fonksiyonlar, metotlar, sınıflar gibi programatik tanımalamalar <script></script> blokları arasına toplanmıştır. Örneğin ASP’de herhangi bir yerde bildirilebilen fonksiyon ASP.Net’te sadece <script></script> blokları arasında bildirilebilir.

Klasik ASP:
<%
Function ParaBicimlendir(sayi)
ParaBicimlendir = FormatNumber(sayi,0) &” TL”
End Function
%>

ASP.Net [VB.Net]:
<script language=”VB” runat=”server”>
Function KareAl(sayi as integer) As integer
KareAl = sayi ^2
End Function
</script>

ASP.Net [C#]:
<script language=”C#” runat=”server”>
Class Sinif
{
public string KareAl(int sayi)
{
return sayi ^2;
}
</script>


7. Date ve Now fonksiyonları

Bildiğiniz gibi ASP’de Date() ve Now() fonksiyonları ile kolayca tarihi ve saati alabiliyorduk. Eğer ASP.Net’te bunu denerseniz hata ile karşılaşırsınız.

Klasik ASP:
<% Response.Write Now() %>

ASP.Net[VB.Net]:
<% Response.Write(DateTime.Now()) %>

ASP.Net[C#]:
<% Response.Write[DateTime.Now()]; %>

8. IsNull kontrolü

Yine VBS’de tanımlı olan IsNull kontrolü yerini VB.Net’te IsDbNull fonksiyonuna bırakmıştır.

Klasik ASP:
<% if isNull(degisken) then Response.Write “Boş” %>

ASP.Net [VB.Net]:
<%
if isDbNull(degisken) then Response.Write(“Boş”)
%>

Artık ASP ile ASP.net arasındaki temel farklı biliyorsunuz; ancak bu sadece daha başlangıç diyebilirim. Çünkü ASP ile ASP.net arasında dağlar kadar fark var. Bunları kodlarınızı yazarken fark edeceksiniz.

Silverlight E-Kitap

Dün süper bir mail aldım :) Sevgili Volkan Albayrak blogumu takip ederken tüm Silverlight makalelerimi de bir E-Kitap olarak derlemiş. Gerçekten şaşırdım… E-Kitap toplam 300 sayfayı geçmiş. Hemen aşağıdaki linkten kitabı indirebilirsiniz.

Silverlight E-Kitap – 16032009_1.pdf (4.15 MB)

Alıntı : http://daron.yondem.com/tr/PermaLink.aspx?guid=27e515c9-1800-4469-8497-f95ab0542000
Silverlight E-Kitap – 16032009_1.xps (5.55 MB)

Çok yakında bir başka kitapçık sürprizi ile karşınızda olacağım ;) Volkan’a buradan tekrar çok teşekkürler ;)

Asp.net Querystringden Değer alma ve Makale Okuma Örneği Videosu

Asp.net Querystringden Değer alma ve Makale Okuma Örneği
Bu dersimizde Asp.net Querystringden Değer alma ve Makale Okuma uygulamasını yapmayı göreceğiz. (Class dosyası kullanarak)

Süre: 16 Dk

Ajax Control Toolkit Kullanarak update Progress Yapmak

Visual Studio 2010 ve NET Framework 4.0 download indir

http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en

Visual Studio 2010 ve .Net 4.0 ile İlgili İlk İzlenimler

.Net ortamında yazılım geliştiren her geliştiricinin şu günlerde sabırsızlıkla beklediği Visual Studio 2010 ve .Net 4.0 hakkında Microsoft bazı önce bilgiler yayınlayarak kullanıcıların meraklarını bir nebzede olsa azatlamaya çalışıyor. İlk izlenimler yazımızda.

Visual studio 2010 ve .Net Framework 4.0 ile kullanıcıya daha esnek bir geliştirme ortamı sunarak istemci sunucu mimarisinde daha rahat ve kullanışlı ortamlar yaratmak ve yeni gelişen donanım ürünleri ile uyumlu bir şekilde geliştirme olanaklarının en iyi şekilde geliştiricilere sunuculacağını söyleyen Microsoft belki de bu sayede bir türlü hakkı olan popülaritesini kazanamayan Vista için girişimlerden biri olarakta değerlendirilebilir. Çünkü resmi sitesinde ücretsiz olarak indirilen Visual Studio Express ile kullanılabilecek bazı eklentilerin sadece Vista üzerinde çalışması da bu ihtiyacın bir cevabı olabilir.

Yeni gelecek olan Visual Studio geliştirme ortamınında bazı göze çarpan yeniliklerden birisi de takım çalışmasına önem verilerek Visual Studio Team System ile birlikte sunuculacak. Aynı zamanda yeni veritabanı bileşenleri de içerisinde gelicek.

Visual Studio ve Windows platformunun veritabanı bağlantısında sıklıkla kullanılan ado ve ado.net bağlantıları bilindiği gibi geliştiricilerin farklı veritabanlarına bağlantı kurmalarında oldukça rahatlık sağlamaktadır. Belki yeni gelecek olan bu eklentiler geliştiricilerin diğer veritabanlarına bağlantı kurmalarında daha esneklik sunmakta yardımcı olacaktır. Kim bilebilir belkide dahili olarak mysql bağlantı seti dahi gelebilir :) )))

Son olarak Microsoft Visual Studio Team System‘in 2008 ve 2005 kullanıcıları tarafından da kullanılabilecek olması yeni sürüme terfi etmek istemeyen geliştiriciler açısından sevindirici bir haber.

Her ne kadar izlenimler yayınlanmış olsada kesin bir çıkış tarihi vermekten kaçınan Microsoft şu an için sadece açıklamalarla yetiniyor.

Ne diyelim hayırlısı borlandın başına :)

IIS 7.0 ve ASP.NET yenilikleri.

Bugün İzmir’de hosting sağlayıcılar ile bir bir eğitimimiz oldu. Benim için çok güzel bir fırsattı :) çünkü zaten hali hazırda Türkiye’deki hosting sağlayıcılar ile ilgili dertliyim. Şirket tarafında müşterilerimize sunduğumuz içerik yönetim sistemlerini müşterilerimiz hosting sağlayıcılardan aldıkları alanlara koyduklarına bir çok sorun ile karşılaşıyoruz. Bu sorunların detaylarına inerek eğitim boyunca ASP.NET hosting yaparken nelere dikkat edilmesi gerektiğine değindim.

Microsoft Hosting Çözümleri Eğitimi, İzmir
Microsoft Hosting Çözümleri Eğitimi, İzmir

Seminerlerde özellikle bana “ASP.NET 3.5 destekli hosting nasıl buluruz?” gibi sorular geliyor. Bu soruları ve arayışı doğrudan hosting firmalarındaki yetkililere iletme şansım oldu. İlginç bir şekilde sunucularında .NET Framework 3.5 kurulu olduğunu fakat sitelerinde hala 2.0 yazdığını söylediler :) Tabi en kısa zamanda bu hatayı düzeltecekler. Hatta birkaç gün içerisinde SP1 yüklü hostinglerimiz bile olacak Türkiye’de.

Bir diğer konu da tabi ki Silverlight’dı :) Silverlight’ın IIS tarafındaki Mime Type ayarlarından ve detaylarından bahsettik.

Eğitimde kullandığım sunumu aşağıdan indirebilirsiniz.

Hosting Çözümleri Eğitimi Sunumu – 21082008_1.pptx (206,66 KB)

21 Ağustos 2008 Perşembe 08:15:42 (GTB Standard Time, UTC+02:00)  #    Yorumlar [12]   ASP.NET 3.5 | IIS 7.0 | Silverlight | Silverlight 2.0  | 
 20 Ağustos 2008 Çarşamba

Server 2008 ile beraber IIS 7.0′ın gelmesi özellikle ASP.NET geliştiricileri için büyük kolaylıklar sunuyor. Bu yazımda sizlere bu kolaylıklardan ufak bir demet sunarken özellikle HttpModule yazma ve IIS 7.0 tarafında kullanma konusuna değineceğim.

Web.Config içindeki hazine

Web.Config dosyası normalde biz yazılım geliştiricilerin sadece kendi uygulamaları ile ilgili ayarları sakladıkları bir yerdi. Oysa artık IIS içerisinde web uygulamanızın çalıştığı sitenin ayarları ile uygulamanızın ayarlarına aynı gözle bakabiliriz. Bunun bir sonucu olarak aynı site ile ilgili hem programatik ayarlar hem de IIS üzerindeki ayarlar artık Web.Config içerisinde saklanıyor. Gelin Visual Studio 2008 ile yarattığımız yeni bir ASP.NET sitesinin Web.Config dosyasının ufak bir bölümüne göz atalım.

    <!–

        The system.webServer section is required for running ASP.NET AJAX under Internet

        Information Services 7.0.  It is not necessary for previous version of IIS.

    –>

    <system.webServer>

      <validation validateIntegratedModeConfiguration=false/>

      <modules>

        <remove name=ScriptModule />

        <add name=ScriptModule preCondition=managedHandler type=System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35/>

      </modules>

      <handlers>

        <remove name=WebServiceHandlerFactory-Integrated/>

        <remove name=ScriptHandlerFactory />

        <remove name=ScriptHandlerFactoryAppServices />

        <remove name=ScriptResource />

        <add name=ScriptHandlerFactory verb=* path=*.asmx preCondition=integratedMode

            type=System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35/>

        <add name=ScriptHandlerFactoryAppServices verb=* path=*_AppService.axd preCondition=integratedMode

            type=System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35/>

        <add name=ScriptResource preCondition=integratedMode verb=GET,HEAD path=ScriptResource.axd type=System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 />

      </handlers>

    </system.webServer>

Gördüğünüz gibi normalden farklı olarak Web.Config içerisinde system.webServer adında bir tagımız var. Zaten tag ile ilgili gerekli açıklama İngilizce olarak hemen üstündeki yorum satırlarında yapılmış. system.webServer tagları arasındaki ayarlar sadece IIS 7.0 içerisinde geçerli olacak ve burada yapılan ayarlar ile bu uygulamanın çalışacağı IIS içerisinde sitedeki modüller ve HttpHandler’lar düzenlenmiş olacak. Böylece artık IIS 7.0′a bir site yükledikten sonra ayarlarını yapabilmeniz için harici bir web paneli kullanmanız veya sunucuda admin haklarına sahip olmanız gerekmiyor. Doğrudan neredeyse tüm ayarları Web.Config içerisinde düzenleyebiliyoruz.

Bu sistemin bir diğer avantajı ise kendi bilgisayarınızda çalıştığınız IIS üzerinde yaptığınız tüm ayarların otomatik olarak sunucuya Web.Config dosyasının atılması ile karşı tarafa da yansıması. Böylece “Benim bilgisayarımda çalışıyor ve sunucuya atınca çalışmıyor” şikayetlerine son geliyor diyebiliriz. Artık web sitenizi sunucuya yüklediğinizde tüm ayarlarını da karşı tarafa aktarmış oluyorsunuz.

Ufak bir örnek…

IIS içerisinde her web sitesinin otomatik olarak açılmaya ayarlı sayfaları vardır. Genelde bunlar default.htm, default.aspx gibi sayfalardır ve varsayılan ayarlar ile karşımıza çıkarlar. Böylece sunucuya bir site yüklediğinizde ilk olarak hangi sayfanın açılması gerektiği belirtilmiş olur. Eğer bu ayarı IIS 6.0′da değiştirmek isterseniz ya hosting sağlayıcınızın size bir yönetim paneli sunması lazım ya da yine size özel script hakları ayarlaması gerekir. Oysa IIS 7.0 içerisinde bu ayar Web.Config içerisinde saklanıyor. Nasıl mı?

Bilgisayarınızda IIS 7.0 Manager’ı açarak ASP.NET web sitenizi seçin ve IIS Manager içerisinde “Default Document” kısmına giderek yeni bir doküman ismi ekleyin.

IIS 7.0 içerisinde "Default Document" ayarı.
IIS 7.0 içerisinde “Default Document” ayarı.

Bu yaptığınız ayarı kendi bilgisayarınıza yaptınız ve sitenizi sunucuya yüklediğinizde tekrar yapmanız gerekecek! dersem de inanmayın. Çünkü IIS 7.0 içerisindeki bu ayar aslında söz konusu web sitesindeki Web.Config dosyasına yazıldı, aynen aşağıdaki gibi;

  <system.webServer>

        <defaultDocument>

            <files>

                <add value=ornek.aspx />

            </files>

        </defaultDocument>

  </system.webServer>

Gördüğünüz gibi IIS içerisinde yeni bir “Default Document” eklemek için aslında tek yapmanız gereken Web.Config’de gerekli tanımlamaları yapmak. Bunun gibi daha birçok ayar tamamen Web.Config içerisine hapsedilmiş durumda. Böylece çoğu sorundan kolayca kurtulmak mümkün.

HttpModule yazalım…

IIS 7.0′ın çalışma yapısı ile IIS 6.0′ın yapısı arasında büyük fark var. IIS 6.0′da ISAPI önünde HttpModule yazabilirken IIS 7.0′da aslında çok daha düşük seviyelere inebiliyoruz. Örneğin ASP.NET ile yazdığınız bir HttpModule otomatik olarak sitenizdeki tüm HTML dosyalarını ve PHP sayfaları bile etkileyebiliyor. Bunun nedeni HttpModule’ün doğrudan IIS’in ana motoru üzerinde çalışıyor olması, yani tam bir entegrasyon söz konusu.

Bir HttpModule yazmak için basit bir şekilde yeni bir sınıf oluşturarak iHttpModule interface’ini implemente etmek yeterli olacaktır. Bu işlemi yaptıktan sonra HttpApplication üzerinden bir Request işleminin tüm event’larına ulaşabilirsiniz. Örneğin aşağıdaki gibi bir HttpModule web sayfası içerisinde açılan her sayfanın başına bir metin ekleyecektir.

[VB]

Imports Microsoft.VisualBasic

 

Public Class Class2

    Implements IHttpModule

 

    Public Sub Dispose() Implements System.Web.IHttpModule.Dispose

 

    End Sub

 

    Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init

        Dim myapp = CType(context, HttpApplication)

        AddHandler myapp.BeginRequest, AddressOf myapp_BeginRequest

    End Sub

 

    Private Sub myapp_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim myapp = CType(sender, HttpApplication)

        myapp.Context.Response.Write(“Deneme”)

    End Sub

End Class

[C#]

public class Class1 : IHttpModule

{

    public Class1()

    {

 

    }

 

    public void Dispose()

    {

        throw new NotImplementedException();

    }

 

    public void Init(HttpApplication context)

    {

        HttpApplication myapp = (HttpApplication)context;

        myapp.BeginRequest += new EventHandler(myapp_BeginRequest);

    }

 

    void myapp_BeginRequest(object sender, EventArgs e)

    {

        HttpApplication myapp = (HttpApplication)sender;

        myapp.Context.Response.Write(“Deneme”);

    }

}

Tabi bu gibi bir HttpModule’ü kullanabilmeniz için Web.Config içerisinde gerekli ayarlamayı da yapmanız gerekir.

  <system.webServer>

    <validation validateIntegratedModeConfiguration=false />

    <modules>

            <remove name=WindowsAuthentication />

            <remove name=UrlMappingsModule />

            <remove name=UrlAuthorization />

            <remove name=StaticFileModule />

            <remove name=StaticCompressionModule />

            <remove name=Session />

            <remove name=ServiceModel />

            <remove name=RoleManager />

            <remove name=RequestMonitorModule />

            <remove name=RequestFilteringModule />

            <remove name=ProtocolSupportModule />

            <remove name=Profile />

            <remove name=OutputCache />

            <remove name=IsapiModule />

            <remove name=IsapiFilterModule />

            <remove name=HttpLoggingModule />

            <remove name=HttpCacheModule />

            <remove name=FormsAuthentication />

            <remove name=FileAuthorization />

            <remove name=DirectoryListingModule />

            <remove name=DefaultDocumentModule />

            <remove name=DefaultAuthentication />

            <remove name=CustomErrorModule />

            <remove name=ConfigurationValidationModule />

            <remove name=AnonymousIdentification />

            <remove name=AnonymousAuthenticationModule />

      <remove name=ScriptModule />

            <add name=DefaultDocumentModule />

            <add name=AnonymousAuthenticationModule />

            <add name=YeniModul type=Class12 />

    </modules>

  </system.webServer>

Yukarıdaki kod içerisinde IIS 7.0′ın mödüllerini düzenliyoruz. İlk olarak tüm modülleri pasif hale getirerek kullanmayacağımız işlemleri iptal ediyoruz. Sonrasında da sadece üç modül istiyoruz. Bunlardan DefaultDocumentModule otomatik olarak varsayılan dokümanın açılmasını sağlıyor. AnonymousAuthenticationModule ise anonim ulaşımı sağlıyor. Sonrasında da bizim yazdığımız HttpModule’ün sınıf ismini taşıyan yeni modülümüzü ekliyoruz. Böylece artık bu web sitesi içerisindeki tüm isteklerde bu modül de çalışacak.

İsterseniz tüm bu modül ayarlarını otomatik olarak IIS Manager içerisinde de yapabilirsiniz. Ayarlamaları yapacağınız web sitesini seçtikten sonra “Modules” kısmına geçerek tüm modülleri silebilir, sağ menüden “Add Managed Module” diyerek site içerisinde yazılmış modülleri bularak ekleyebilirsiniz.

Başka neler var?

IIS 7.0 içerisinde FastCGI ile PHP desteği geliyor. Hatta PHP tarafında da yukarıdaki HttpModule’lerin çalıştığını düşünürseniz PHP ile tüm bu modülleri kullanabileceğiniz sonucuna varabilirsiniz. Örneğin ASP.NET Forms Authentication modülünü PHP ile kullanabilirsiniz hatta böylece yarısı PHP yarısı ASP.NET ile yazılmış bir sitede global Authentication sistemi bile kurmuş olursunuz. Daha bu gibi bir çok esnekliğe sahip olan IIS 7.0 ile yazılım geliştirme ortamı arıyorsanız Vista ile beraber IIS 7.0′ın geldiğini de hatırlatmak isterim.

Hepinize kolay gelsin.

 

http://daron.yondem.com/tr/CategoryView.aspx?category=IIS+7.0

Program Kodlarına Açıklamalar Eklemek

ASP.NET uygulamaları geliştirirken, yaptığınız işlemleri açıklamak amacıyla notlar
koyabilirsiniz. Bu notlar sayesinde farklı zamanlarda kodlarınıza baktığınızda yaptığınız
işlemleri rahatlıkla hatırlayabilirsiniz. Böylelikle zamandan ve emekten kazancınız olur. Bu
açıklayıcı notların diğer bir yararı, yazdığınız uygulamaları başkalarıyla da paylaştığınızda
onların da bu notlardan yararlanmasıdır.
VB.NET’te açıklayıcı notlar ‘ (tek tırnak) işareti ile başlar.
Örnek açıklama satırı:
‘ Kullanıcıdan kullanıcı adı ve parolasının alındığı bölüm
Başka bir örnek açıklama satırı
‘ Sayfadaki görsel düzenlemelerin yapıldığı bölüm
Bu açıklayıcı notlar adından da anlaşılacağı gibi sadece işlemleri açıklamak içindir.
Uygulamanın çalışmasını etkilemediğini görmek için aşağıdaki uygulamayı inceleyelim.

1 <%@ page language=”VB” %>
2 <script runat=”server”>
3 sub page_load(obj as object, e as eventargs)
4 ‘ Mesajın yazıldığı kısım
5 metin.text =”ASP.NET Dünyasına Hoşgeldiniz”
6 end sub
7 </script>
8 <html><body>
9 <asp:label id=”metin” runat=”server” />
10 </body></html>

 

Oluşturduğumuz aciklama.aspx dosyası içindeki açıklama satırının, ekran çıktısına
herhangi bir etkisi olmamıştır.

Kodu Alt Satırdan Devam Ettirme

ASP.NET sayfaları oluştururken bazı satırlar uzun olabilir. Böyle bir durumda alt
satırdan devam etme ihtiyacı hissedilir. Fakat alt satıra geçerken kimi yazım kurallarına
uyulmalıdır. Kod yazarken doğrudan alt satıra geçip devam etmek hataya neden olur. Ayrıca
kimi zaman fazladan bırakılan bir boşluk hataya neden olabilir.
HTML etiketleriyle bir işlemi yerine getirirken ifadenin her zaman aynı satırda olması
şart değildir. İfadenin alt satırdan devam etmesinde esneklik söz konusudur. Örneğin ;
<u> Sevgi </u>
şeklindeki bir yazım ile
<u>
Sevgi </u>
veya
<u>
Sevgi
</u>
şeklindeki bir yazım tarayıcı için aynı anlama gelir. Her üç yazımın ekran görüntüsü
de aşağıdaki gösterildiği gibi altı çizili halde yazılmış “Sevgi” kelimesi şeklinde olur.

Fakat HTML etiketleri bölündüğünde, tarayıcı hata vermese de ekranda istenilenden
farklı bir görüntüyle karşılaşma ihtimali vardır. Örneğin;
<u
>
Sevgi
</u>
şeklindeki yazım, tarayıcının hata vermesine neden olmamış, ancak aşağıda görüldüğü
gibi altı çizili halde yazılmış “sevgi” kelimesi görüntüsünü de vermemiştir.

 HTML kodlarının istemci bilgisayarın tarayıcısında yorumlanmasından dolayı, HTML
ifadelerinin yazım kurallarında esneklik payı vardır. Ancak sunucu bilgisayarda yorumlanan
veya derlenen kodlarda yazım kurallarına daha fazla dikkat edilmelidir. Örneğin;
response.write(“Satır atlamalara dikkat! ”) kodunun parçalanarak yazıldığı aşağıdaki
örnekteki yazım şekli hataya neden olacaktır.

 satirAtlamaYanlis1..aspx
1 <%@ page language=”VB” %>
2 <script runat=”server”>
3 sub page_load(obj as object, e as eventargs)
4 response.write (DİKKAT! DOĞRUDAN ALT SATIRA GEÇİLMİŞ)
5 (“Satır atlamalara dikkat! ”)
6 end sub
7 </script>
8 <html><body></body></html>

Eğer herhangi bir nedenle alt satıra geçilecekse, bulunulan satırda, ara (boşluk)
çubuğuyla bir boşluk bırakıldıktan sonra alt çizgi ( _ ) karakterine basılır ve alt satıra geçilir.
Örneğin;
response.write _
(“Satır atlamalara dikkat! ”)
şeklindeki bir yazım doğru olup, hataya neden olmaz. Aşağıda görülen
satirAtlamaDogru.aspx sayfasını ve çıktısını inceleyiniz.

satirAtlamaDogru.aspx
1 <%@ page language=”VB” %>
2 <script runat=”server”>
3 sub page_load(obj as object, e as eventargs)
4 response.write _
5 (“Satır atlamalara dikkat! ”)
6 end sub
7 </script>
8 <html>body></body></html>

 Alt satıra geçme işleminde alt çizgiden önce boşluk bırakılmamasının hataya neden
olduğu aşağıdaki örneği inceleyelim.

 SatirAtlamaYanlis2.aspx
1 <%@ page language=”VB” %>
2 <script runat=”server”>
3 sub page_load(obj as object, e as eventargs)
4 response.write_ (DİKKAT: ALT ÇİZGİDEN ÖNCE BOŞLUK BIRAKILMAMIŞ)
5 (“Satır atlamalara dikkat! ”)
6 end sub
7 </script>
8 <html><body></body></html>

 

VB.NET’te kullanılan her komut tek satıra yazılır. Bununla birlikte, alt satırdan devam
etme gereği duyulduğunda, VB.NET’te de bulunulan satır “boşluk + alt çizgi” karakterleri
ile bitirilir ve alt satıra geçilir.
Daha önce oluşturduğunuz sayfaYapisi.aspx dosyasını açarak, aşağıda kırmızı renkle
yazılan alanda olduğu gibi alt satıra geçme işlemi yapınız. Dosyayı kaydedip,
çalıştırdığınızda sayfa hatasız görüntülenecektir.
<%@ page language=”vb” %>
<script runat=”server”>
sub tiklandi(sender as object, e as eventargs)

mesaj.text = “Merhaba ” & yazi_kutusu.text & _
” ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
end sub
…………..
Alt satıra geçme işlemi, bir komutu oluşturan ifadelerin bağlantı noktalarında yapılırsa
hataya neden olmaz. Aşağıdaki örneklerde gösterilen alt satıra geçme işlemleri
uygulandığında dosya çalışma hatası vermez.

 

mesaj. _
text = “Merhaba ” & yazi_kutusu.text & + ” ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
mesaj.text _
= “Merhaba ” & yazi_kutusu.text & + ” ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
mesaj.text = _
“Merhaba ” & yazi_kutusu.text & + ” ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
mesaj.text = “Merhaba ” _
& yazi_kutusu.text & + ” ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
Kod içindeki bir metni parçalayarak alt satırdan devam edersek metnin herhangi bir
yeri bir bağlantı noktası olmadığından hatayla karşılarız. Aşağıda gösterildiği gibi metni
böldüğümüzde sayfa hata verecektir.
mesaj.text = “Merhaba ” & yazi_kutusu.text & + ” ASP.NET sayfa _
yapısını öğrenmeye hazır mısın?”
Eğer metni bağlantı noktası da oluşturarak bölersek herhangi bir hatayla
karşılaşmayız.
mesaj.text = “Merhaba ” & yazi_kutusu.text & + ” ASP.NET sayfa” & _
“yapısını öğrenmeye hazır mısın?”

Web Formu veWeb Kontrolleri

Sayfada web formunun oluşturulduğu bloktur. Web formu, ASP.NET ile birlikte gelen
yazım biçimi ve işleyişi farklı yeni bir form yapısıdır. Web formu, <form runat=”server”>
ifadesiyle başlar </form> ifadesiyle biter. Kullanıcının çeşitli veriler girmesini sağlayan
formun oluşturulduğu bu alanda HTML datapaylasim.com etiketleri de kullanılabilir. Web formu, istemci
bilgisayarda değil tamamen sunucu bilgisayarda çalışır ve çalıştırma sonucu üretilen HTML
etiketleri istemci bilgisayara gönderilir. Runat=”server” ifadesi web form ve kontrollerinin
sunucuda çalıştığını göstermektedir. Bu ifade yazılmadığında sayfa hata verir. Form
elemanlarının sunucuda çalıştırılması, form kullanımının kontrolünün tamamen web sitesi
geliştiricisinde olmasını sağlar.
Uygulama : Örnek sayfa olan sayfaYapisi.aspx sayfasındaki <form runat=”server”>
satırındaki runat=”server” ifadesini silip, kaydederek tarayıcıdan çağırınız. Sayfa hata verdi
mi?
Uygulama : Aynı sayfada <asp:label id=”mesaj” runat=”server”/> satırındaki
runat=”server” ifadesini silip, kaydederek tarayıcıdan çağırınız. Bu sefer sonuç ne oldu?
Formdaki veriler, istemci tarafında çalışan betik kodlar vasıtasıyla işlenebileceği gibi
sunucu tarafında çalışan kodlar vasıtasıyla da işlenebilir. Formlardaki değişiklikler olaya
bağlanmıştır. Kullanıcı yaptığı değişiklikle bir olayı gerçekleştirdiğinde, bu değişiklik
sunucuya iletilir ve sunucudaki program komutları çalıştırılır. Eğer olay gerçekleşmezse,
sunucu sayfayı tekrar çalıştırmaz.
Web formları ve web form elemanları “Etkileşimli web uygulamaları 3” modülünde
incelenecektir. Şimdilik örnek sayfadaki web form ve elemanlarıyla ilgili kısa bilgiler
verilecektir. Örnek sayfada kullanılan form ve form elemanlarını oluşturma ifadeleri aşağıda
belirtilmiştir.
<form runat=”server”>
<asp:textbox id=”metin_kutusu” runat=”server”/>

<asp:button id=”buton” text=”Tıkla ve gör” onclick=”tiklandi”
runat=”server”/>
<asp:label id=”mesaj” runat=”server” />
<form runat=”server”>
Form oluşturmak amacıyla form ifadesi kullanılmış ve bu formun sunucuda
çalışacağını belirtmek amacıyla da runat=”server” ifadesi eklenmiştir. Oluşturulacak form
elemanları (kontrolleri) web form elemanları olduklarından satıra <asp: ifadesiyle
başlanmıştır. Bu ifadenin ardından forma hangi web form elemanı eklenecekse onun
İngilizce ismi (textbox, button, label vs.) yazılmıştır. Daha sonra form elemanına özel isim id
bildirimiyle atanmıştır. Textbox form elemanı için id değerine metin_kutusu, button
(düğme) form elemanı için ise buton ifadesi atanmıştır.

Kod Çalıştırma Bloğu

ASP.NET sayfasına eklenebilecek mesaj ve yönergelerin bildiriminde kullanılır. <%
%> etiketleri arasında kalan bölümdür. Bu etiketler ASP bildirimidir. Bu alandaki ifadeler
derlenmeyip yorumlandıklarından performansları düşüktür. Bu nedenle bu bloğun
kullanılması tercih edilmez.
Burada kullanılan Response.write(“Kutuya adınızı yazıp, Tıkla ve gör düğmesine
tıklayınız:<p>”) satırıyla ekrana bir metin yazdırılmaktadır. Response, sunucu bilgisayarın
istemci bilgisayara veri aktarmasını sağlayan ASP.NET nesnesidir. Bu nesnenin Write
metodu kullanılarak istemci tarayıcısında istenilen yazı görüntülenir.
Response.write(“MEGEP”) şeklinde bir komut, sunucunun istemci tarayıcısında
MEGEP ifadesini görüntülemesini sağlar. Write metodunda HTML etiketleri de
kullanılabilir. Örneğin, ekrana istenilen mesajı yazdıktan sonra alt paragrafa geçmek için şu
komut kullanılır : Response.write(“MEGEP <p>”)

HTML Sayfa Bildirimleri ve HTML Etiketleri

HTML sayfa bildirimlerinin ve HTML etiketlerinin kullanıldığı bölümdür. Örnek
sayfada <h1>, <p> etiketleriyle datapaylasim.com ASP.NET Sayfa Yapısı yazısı biçimlendirilmiştir. Aslında
HTML etiketlerinin kullanımı sadece bu bölümle sınırlı değildir, etiketler ASP.NET
sayfasının diğer bölümlerinde de kullanılabilir.

Kod bildirim bloğu

<script runat=”server”></script> ifadeleri arasında yazılan bölüme kod bildirim
bloğu (Code declaration block) denir. Kod bildirim bloğunda sayfanın program kodları
bulunur. Bu kısımda kullanacağımız programlama dili, sayfa bildirim alanında bildirilir.
<script runat=”server”> ifadesindeki runat=”server” kısmı bu bloktaki komutların sunucuda
çalışacağını belirtir. Runat=”server” ifadesini “sunucuda çalış” olarak çevirebiliriz. Bu
bölüm bir olayın gerçekleşmesi (örneğin, sayfanın yüklenmesi, gönder düğmesine basılması)
durumunda çalışacak kodları bulundurur. Örnek sayfada düğmeye basılması durumunda
çalışması istenen kodlar buraya yazılmıştır.
<script runat=”server”>
sub tiklandi(sender as object, e as eventargs)
mesaj.text = “Merhaba ” & metin_kutusu.text & ” ASP.NET sayfa
yapısını öğrenmeye hazır mısın?”
end sub
</script>
sub tiklandi(sender as object, e as eventargs)
………..
end sub şeklindeki yapı VB.NET programlama diline özgü bir alt programdır. Sub
ifadesi alt programı belirtmek için kullanılır. Alt program, tüm programın bir parçasını
oluşturan, belirli bir işlemi gerçekleştirmek için oluşturulmuş kodlardır. (Sender as object, e

 as eventargs) ifadesi sık kullanılan standart bir ifadedir. Alt programlar, Etkileşimli Web
Uygulamaları 2 modülünde inlenecektir.
Yukarıdaki alt program içerisine örnek sayfada metin kutusuna ifade girilip düğmeye
tıklandığında yapılacak işlemi belirten kodlar yazılmıştır. Metin kutusuna yazılan ifadenin
önüne “Merhaba” kelimesi, sonuna “ASP.NET sayfa yapısını öğrenmeye hazır mısın?”
kelimeleri eklenerek etiketin (label) içeriği oluşturulmuş ve bu içerik sayfada
görüntülenmiştir. Noktasal gösterim kullanılarak (mesaj.text) mesaj isimli label kontrolünün
text özelliğine (property) değer atanarak işlem gerçekleştirilmiştir. Eğer label kontrolünün
genişliği ayarlanmak istenseydi mesaj.width (örneğin mesaj.width=”5”) şeklinde yine
noktasal gösterim kullanılacaktı. Eğer label kontrolünün yüksekliği ayarlanmak istenseydi
nasıl bir ifade yazılırdı?
NOT: Kod bildirim bloğunun sayfanın başında bulunma zorunluluğu yoktur. İstenirse
sayfanın sonuna (<html>…</html> bloğundan sonra) yazılabilir.
Uygulama : Yukarıdaki örnek ASP.NET sayfasında “script” ifadeleri arasındaki
kodları sayfasının en altına alarak ASP.NET sayfasını çalıştırınız, sayfa görüntüsünde bir
değişiklik oldu mu?Belirtiniz.

Program yazlm Script oyun indir