Active Server Pages .NET

**Active Server Pages .NET** (sering disingkat sebagai **ASP.NET**) adalah kumpulan teknologi dalam Framework .NET untuk membangun aplikasi web dinamik dan *XML Web Service* (Layanan Web XML). Halaman ASP.NET dijalankan di server kemudian akan dibuat halaman markup (penanda) seperti HTML (*[[Hypertext markup language|Hypertext Markup Language]]*), WML (*[[Wireless Markup Language]]*), atau XML (*[[Extensible Markup Language]]*) yang dikirim ke browser desktop atau mobile.

## Pengenalan
ASP.NET merupakan komponen Internet Information Services (IIS). Oleh karena itu, untuk menginstalasikan ASP, harus juga menginstalasikan IIS. ASP.NET adalah komponen utama Window yang membuat IIS dapat menjalankan aplikasi yang berbasiskan .NET.

Harus diperhatikan ASP.NET tidak terinstalasi secara otomatis ketika IIS diinstal. Instalasi yang sukses secara otomatis juga akan menghasilkan beberapa komponen dan sumber daya seperti:
* **ASP.NET Performance Counter** - Tiap versi ASP.NET memiliki *performance center* yang berbeda.
* **ASP.NET State Service** - Digunakan untuk mengatur *session state*. Semua versi ASP.NET akan menggunakan *State Service* yang sama yaitu yang disediakan oleh versi terbaru.
* **ASPNET local user account** - pada komputer yang berdiri sendiri ataupun member server local user acount bernama ASPNET akan dibuat ketika ASP.NET diinstal.

## Keunggulan ASP.NET
ASP.NET memiliki keunggulan:
* **Penyederhanaan**. ASP.NET membuat mudah tugas umum seperti pembuatan form, otentikasi client, validasi data, konfigurasi situs, dan *deployment*.
* **Perbaikan Performa**. Karena ASP.NET dikompilasi ke CLR sehingga performanya lebih baik dari ASP yang interpreter.
* **Form-form Web**. Merupakan model pemrograman baru yang menggabungkan aplikasi ASP dengan kemudahan pengembangan dan produktivitas Visual Basic.
* **Kode Nonspaghetti**. Model pemrograman ASP.NET memisahkan kode dari presentasi sehingga mempermudah membuat konstruksi dan mengelola kode.
* **Perbaikan Manajemen Status**. ASP.NET menyediakan status aplikasi dan sesi yang mudah digunakan. ASP.NET mengatasi keterbatasan tersebut dengan menyediakan dukungan pendistribusian status sesi dalam server web, menaruh informasi status dalam SQL Server, serta menyediakan pengelolaan status tanpa cookies.
* **Pengamanan**. ASP.NET menyediakan layanan otorisasi (menentukan apakah pengguna memiliki izin untuk melakukan tindakan yang diminta) dan otentikasi (menentukan identitas pengguna yang melakukan permintaat) yang telah diperbaiki menggunakan **CookieAuthenticationModule** dan **URLAuthorizationModule.**
* **Konfigurasi**. ASP.NET menggunakan file XML untuk menyimpan pengaturan konfigurasi. Hal ini membuat *deployment* situs menjadi lebih mudah.
* **Layanan Web**. ASP.NET dapat digunakan untuk mengekspos fungsi bisnis ke partner melalui protokol Web standar.
* **Caching**. Disediakan mesin caching untuk meningkatkan kinerja aplikasi dan mengurangi beban pemroses server web dan server database.
* **Debugging**. ASP.NET memiliki *utilitas tracking* yang *build-in*.
* **Deployment**. Deployment dapat dilakukan dengan cara menyalin file karena semua pengaturan konfigurasi situs terdapat dalam file XML.

## Siklus Hidup halaman ASP.NET
Berikut adalah ringkasan siklus hidup halaman ASP.NET:
* Client meminta file yang memiliki ekstensi .aspx.
* ASP.NET membaca file dari file sistem server.
* ASP.NET memeriksa tiap-tiap tag dalam file dan memuat ke dalam memori.
** Jika tag berisi atribut runat="server", ASP.NET memuat komponen *[[Perangkat lunak]]* yang disebut kontrol server. Nama tag menentukan tipe dari kontrol server.
** Tag tanpa atribut runat="server" adalah tag HTML biasa, ASP.NET akan memuatnya kedalam komponen *software* dan kemudian tag aslinya akan dikirim kembali ke browser client.
* Setelah memuat semua tag ke dalam memori, ASP.NET menjalankan kode program dari tiap-tiap kontrol server. Kode ini akan mengakses sumber dari server web, kode dapat mengubah isi atau properti dari kontrol server dihalaman dan dapat juga menambah atau menghilangkan kontrol server.
* Ketika semua kode dalam kontrol server selesai dijalankan, ASP.NET secara berurutan memberi tahu tiap kontrol untuk me-render dirinya.
** Jika tag asli adalah HTML biasa, ASP.NET akan mengirim tanpa memodifikasi.
** Jika tag asli yang dibuat adalah kontrol server, ASP.NET akan memanggil method kontrol **Render** untuk membuat HTML.
* Susudah halaman meninggalkan server, ASP.NET melepas kontrol server dan sumber lainnya yang sudah dibuat sebelumnya.

## Contoh ASP.NET

```html4strict
<script runat="server">
Sub button1(Source As Object, e As EventArgs)
   p1.InnerHtml="You clicked the blue button!"
End Sub
Sub button2(Source As Object, e As EventArgs)
   p1.InnerHtml="You clicked the pink button!"
End Sub
</script>

<html>
<body>

<form runat="server">
<button id="b1" OnServerClick="button1"
style="background-color:#e6e6fa;
height:25;width:100" runat="server">
Blue button!
</button>
<button id="b2"
OnServerClick="button2"
style="background-color:#fff0f5;
height:25;width:100" runat="server">
Pink button!
</button>
<p id="p1" runat="server" />
</form>

</body>
</html>
```


Untuk melihat contoh-contoh lainnya dapat merujuk ke situs tepercaya di alamat http://www.w3schools.com/aspnet/aspnet_examples.asp 

## Pranala luar
* ASP.NET Tutorial 

## Referensi