
Packaging untuk ASP.Net
Agustus 5, 2008Language : Visual Basic .Net & Visual C#.Net
Packaging untuk ASP.Net
Pada teknologi .NET kita juga dapat membuat aplikasi web yang dinamakan ASP.NET dan tool pembuatnya menggunakan Visual Studio .NET. Sebelum membuat project ASP.NET dengan Visual Studio .NET maka kita harus memastikan bahwa IIS telah diinstal di komputer. Jika kita sudah menginstal IIS sebelum menginstal Visual Studio .NET maka secara otomatis Visual Studio .NET akan melakukan registrasi framework .NET ke dalam IIS, tapi apabila kita menginstal Visual Studio .NET terlebih dulu sebelum menginstal IIS maka kita harus melakukan registrasi framework .NET pada IIS secara manual dengan file aspnet_regiis.exe. Berikut ini cara menginstal framework.NET secara manual ke dalam IIS.
- Jalankan command line console. Pada Windows 2000, XP, dan 2003, console dapat dipanggil dengan mengklik Start | Run. Ketik cmd.
- Setelah kotak dialog Commandline muncul maka arahkan ke direktori di mana file aspnet_regiis.exe berada. Umumnya file ini diletakan di direktori Windows, contohnya:
_C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 Folder v1.1.4322 menunjukan versi framework .NET. Carilah versi tertinggi.
- Ketik command berikut:
aspnet_regiis -i
Setelah IIS telah terregistrasi dengan baik maka kita sekarang siap membuat aplikasi web dengan ASP.NET. Kali ini, kita akan membuat implementasi dan deployment aplikasi web ASP.NET yang dibuat dengan Visual Studio .NET 2005. Dalam rancangan aplikasi ASP.NET ini kita akan membuat 3 page, yaitu:
- Page default.aspx yang berisi data-data tampilan. Page ini hanya dapat diakses jika pengunjung site sudah melakukan proses authentication.
- Page login.aspx adalah page untuk melakukan proses login.
- Page logout.aspx adalah page untuk melakukan proses logout.
Urutan prosesnya adalah sebagai berikut :
- Mula-mula user akan meminta page default.aspx.
- Jika user belum melakukan proses login maka sistem akan melemparkannya ke page login.aspx.
- Jika user sudah melakukan proses login maka page default.aspx akan menampilkan data yang diambil dari database.
- Pada page login.aspx, user memasukan user id dan password.
- Jika user memasukkan user id dan password dengan benar maka sistem akan melemparkan ke page default.aspx.
- User dapat mengakhiri session login-nya jika mengklik logout sehingga sistem akan melemparkannya ke page logout.aspx.
Pembuatan Aplikasi Web
Di bawah ini adalah langkah-langkah implementasi skenario yang telah kita buat :
- Buka Visual Studio .NET 2005.
- Buat project baru dengan template ASP.NET. Untuk C#, beri
nama WebCSharpApp, sedangkan untuk VB.NET beri nama
WebVBApp. - Ubah nama file WebForm1.aspx menjadi Login.aspx.
- Buat UI untuk Login.aspx. Berikut ini properti komponennya:Label : Text = User ID
Label : Text = Password
TextBox : ID = txtUserID
TextBox : ID = txtPassword, TextMode = Password
Button : Text =- Login - Klik dua kali tombol Login dan tambahkan kode di bawah ini:
C#
—
private void Button1_Click(object sender, System.EventArgs e)
{if(this.txtUserID.Text.Trim()==”user” &&
this.txtPassword.Text.Trim()==”123″)
{Session["userid"] = this.txtUserID.Text;
Response.Redirect(”default.aspx”);}
}
VB
—
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.ClickIf Me.txtUserID.Text.Trim() = “usr” And _
Me.txtPassword.Text.Trim() = “123″ ThenSession(”userid”) = Me.txtUserID.Text
Response.Redirect(”default.aspx”) \End If
End Sub
- Selanjutnya tambahkan page baru dengan cara mengklik kanan dan memilih menu Add | Add New Item.
- Akan muncul kotak dialog,pilih Web Form.
- Pilih template Web Form dan beri nama default.aspx. Klik tombol Open jika telah selesai.
- Buat UI untuk default.aspx, Berikut ini properti komponennya:Label : ID = lbError, ForeColor = Red, Text = [], Visible = False
Label : Text = Data Employee
HyperLink : NavigateUrl = Logout.aspx, Text = Logout
DataGrid : ID = DataGrid1 - Tambahkan namespace baru berikut ini.
C#
—
using System.Data.SqlClient;VB
—
Imports System.Data.SqlClien - Tambahkan 2 method code berikut pada default.aspx.
C#
—
private bool ValidateLogin() {if(Session["userid"]!=null) {
if((string)Session["userid"]!=”")
return true;
else
return false;}
return false;
}
private void PopulateData() {
string sConn =
“server=(local);database=northwind;uid=guest;pwd=123;”;
string sSql = “select EmployeeID,FirstName,LastName from
Employees”;try
{DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sSql,sConn);
da.Fill(ds);if(ds!=null)
{this.DataGrid1.DataSource = ds.Tables[0];
this.DataGrid1.DataBind();}
}
catch(SqlException err)
{this.lbError.Text = err.Message;
this.lbError.Visible = true;}
}
VB
—
Private Function ValidateLogin() As BooleanIf Not Session(”userid”) Is Nothing Then
If Session(”userid”) <> “” Then
Return True
Else
Return False
End If
End If
Return False
End Function
Private Sub PopulateData()
Dim sConn As String =
“server=(local);database=northwind;uid=guest;pwd=123;”Dim sSql As String = “select
EmployeeID,FirstName,LastName from Employees”Try
Dim ds As New DataSet
Dim da As New SqlDataAdapter(sSql, sConn)
da.Fill(ds)If Not ds Is Nothing Then
Me.DataGrid1.DataSource = ds.Tables(0)
Me.DataGrid1.DataBind()End If
Catch ex As SqlException
Me.lbError.Text = ex.Message
Me.lbError.Visible = TrueEnd Try
End Sub
Catatan:
Ganti nilai pada Connection String sesuai dengan konfigurasi database Anda, terutama nilai user dan password.
“server=(local);database=northwind;uid=guest;pwd=123;” - Pada event Load dari page default.aspx, tambahkan kode di bawah ini.
C#
—
private void Page_Load(object sender, System.EventArgs e){// Put user code to initialize the page here
if(!IsPostBack)
{if(ValidateLogin())
PopulateData();else
Response.Redirect(”login.aspx”);
}
}
VB
—
Private Sub Page_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.LoadIf Not IsPostBack Then
If ValidateLogin() = True Then
PopulateData()
Else
Response.Redirect(”login.aspx”)
End If
End If
End Sub
- Kemudian tambahkan page baru, yaitu Logout.aspx.
- Pada event Load pada page Logout.aspx, tambahkan kode berikut.
C#
—
private void Page_Load(object sender, System.EventArgs e)
{if(!IsPostBack)
{Session["userid"] = null;
this.Session.Clear();Response.Redirect(”login.aspx”,true);
}
}
VB
—
Private Sub Page_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.LoadIf Not IsPostBack Then
Session(”userid”) = Nothing
Me.Session.Clear()Response.Redirect(”login.aspx”, True)
End If
End Sub
- Kompilasi project ini untuk memastikan bahwa tidak ada kesalahan.
- Sebelum menjalankan, tentukan Start Page dengan mengklik kanan page default.aspx. Pilih Set As Start Page
- Jalankan project ini.
Keterangan Kode
- Mula-mula user akan masuk ke page default.aspx. Bagian event Load page default.aspx akan mengecek apakah user telah melakukan login dengan mengecek Session[“userid”] yang dila kukan pada method ValidateLogin()
- Implementasi method ValidateLogin():
- menampilkan data dengan cara mengambil data dari database SQL Server 2000 melalui objek ADO.NET:
- Untuk bagian page Login.aspx, kita tidak mengunakan Windows Authentication, Active Directory Authentication, atau Database Authentication, melainkan mengunakan Hardcode. Penulis tidak
membahas masalah authentication secara mendalam karena akan banyak dijumpai pada topik-topik yang berhubungan dengan sekuriti. - Jjika proses login sukses maka nama userid akan disimpan di session dan dilemparkan ke page default.aspx.
- Pada Logout.aspx, kita melakukan penghapusan semua session dan melemparkan user ke page Login.aspx.
- Klik tombol Login dan page akan berpindah ke default.aspx dan selanjutnya akan menampilkan data dari database. Jika kita ingin logout, cukup klik link Logout.
Pembuatan Packaging
Langkah selanjutnya kita akan membuat packaging dari aplikasi desktop yang telah dibuat. Lakukan langkah-langkah di bawah ini:
- Tambahkan project baru pada solution kita dengan mengklik kanan solution di bagian Solution Explorer.
- Pilih menu Add | New Project….
- Selanjutnya akan muncul kotak dialog untuk project baru.
- Pilih tipe project yaitu Setup and Deployment Projects.
- Pilih template yaitu Web Setup Project.
- Tulis nama project setup, misalnya WebSetup1.
- Setelah selesai, klik tombol OK.
- Untuk memasukkan aplikasi web yang telah dibuat di packaging, kita dapat mengklik kanan project setup
- Pilih menu Add | Project Output.
- pilih project yang akan ditambahkan ke packaging, misalnya project yang telah kita buat, yaitu WebCsharpApp (untuk C#) atau WebVBApp (untuk VB).
- Pilih menu “Primary output” dan “Content Files” dengan meng-kliknya sambil menekan Ctrl.
- Setelah selesai, klik tombol OK.
- Untuk melakukan Build Project Setup, klik kanan web project setup dan build.
Deployment
Setelah membuat aplikasi packaging maka langkah selanjutnya adalah menginstalnya ke komputer target.
- Untuk kasus ini, cara instalasi cukup dilakukan dengan mengklik file setup.exe yang merupakan hasil dari web project setup.
- Pada packaging web, pada langkah kedua dari kotak dialog Installation Wizard.
- Kemudian kita akan diminta memasukkan nama Virtual Directory yang akan masuk ke direktori wwwroot dari IIS.
- Port digunakan web server untuk melayani request. Umumnya port web server adalah 80.
- Untuk proses uninstall aplikasi web melalui file setup tersebut, Pilihlah “Remove [nama_project]” untuk menghapus aplikasi.



