ASP.NET ISAPI got Problem while Notification Server Altaris ISAPI run

by Agus Kurniawan 25. August 2009 13:38
Ini pengalaman gw mengenai Altaris dan ASP.NET. Sebulan lalu, gw mengerjakan project reporting berbasis ASP.NET. Setelah selesai dibuat, gw deploy ke web server dimana didalamnya juga diinstall Altaris. Setelah diregister ASP.NET 2.0 ke IIS rupanya aplikasi ASP.NET tidak bisa dijalankan. Kalau di browse via IE akan error Server Unavailable Dan kalau di cek pada bagian eventlog maka kita memperoleh error message sebagai berikut Failed to execute request because the App-Domain could not be created Solusi Setelah coba sana-sani dan analisa sekuriti, rupanya ISAPI Altaris melakukan block ISAPI ASP.NET sehingga solusinya remove ISAPI Altaris dari website. Sekarang anda happy

Tags: ,

.NET | Security

Hello World WCF

by Agus Kurniawan 20. August 2009 16:48
Seperti sebelumnya gw jelas mengenai singkat WCF di http://blog.aguskurniawan.net/post/Introduction-to-Windows-Communication-Foundation-(WCF).aspx. Saatnya kita coba mempraktekan WCF. Lab Environment Untuk keperluan ini dibutuhkan OS Windows XP/Vista atau Windows Server 2000/2003/2008 Visual Studio 2008 Membuat Aplikasi Hello World WCF 3.5 Disini kita membuat aplikasi WCF yang dihosting di web ASP.NET. Sedangkan client akan berbentuk console app. WCF Server Pertama-tama kita buat aplikasi WCF server yang bertindak sebagai service server. Berikut ini langkah-langkahnya: Buat project dan pilih templet ASP.NET Web Application, lihat gambar dibawah  Beri nama project dan solution. Jika selesai klik tombol OK. Selanjutnya pada project tersebut, klik kanan dan pilih Add->New Item, contohnya seperti gambar dibawah    Kemudian akan muncul kotak dialog seperti gambar dibawah Pilih WCF Service dan tulis nama file nya. Jika selesai, klik tombol Add. Misalkan disini namanya MyWCF maka akan dihasilkan file IMyWCF.cs, MyWCF.svc, dan MyWCF.svc.cs Berikut ini code untuk IMyWCF.cs [ServiceContract] public interface IMyWCF { [OperationContract] string DoWork(string data); } Sedangkan implementasi pada file MyWCF.svc.cs public class MyWCF : IMyWCF { public string DoWork(string data) { return string.Format("Data={0}", data); } } Jika selesai, lakukan compile dan build. Pastikan tidak ada error. Kalau sudah ok, kita test WCF server nya. Caranya klik kanan file MyWCF.svc dan pilih menu View in Browser Selanjutnya pada browser akan muncul tampilan seperti dibawah ini Ok, pekerjaan pembuatan WCF server sudah selesai. WCF Client Setelah WCF server selesai dibuat, kita akan membuat aplikasi client berbasis console. Tambahkan project baru dengan template Console Application. Setelah project console dipilih maka pertama-tama kita menghubungkan aplikasi WCF client ke WCF Server. Caranya klik kanan project dan pilih menu Add Service Reference seperti gambar dibawah ini Selanjutnya akan muncul kotak dialog seperti gambar dibawah ini Isi URL WCF Server dan kemudian klik tombol Go. Jika selesai, klik tombol OK. Ini akan menghasil Service Reference dan penambahan file baru yaitu app.config. Isinya: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_IMyWCF" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" /> <security mode="Message"> <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" /> <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" /> </security> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="http://localhost:3569/MyWCF.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMyWCF" contract="RefWCF.IMyWCF" name="WSHttpBinding_IMyWCF"> <identity> <dns value="localhost" /> </identity> </endpoint> </client> </system.serviceModel> </configuration> Nilai http://localhost:3569/MyWCF.svc, dapat diganti disesuaikan dengan URL dan port nya. Selanjutnya pada file Program.cs, tulis code sebagai berikut: using System;   using ClientWCF.RefWCF; namespace ClientWCF { class Program { static void Main(string[] args) { Console.WriteLine("Call WCF");   MyWCFClient wcf = new MyWCFClient(); string resultData = wcf.DoWork("Selamat datang WCF"); Console.WriteLine(resultData);   Console.ReadLine(); } } } Jika selesai, lakukan compile dan build. Pastikan tidak ada error yang terjadi. Menjalankan Aplikasi Pertama-tama jalan app WCF Server nya. Selanjutnya baru jalankan WCF client, berikut ini contohnya Apabila app WCF client dijalankan melalui VS 2008 dengan mode debugging maka mungkin mendapatkan error seperti dibawah ini Supaya gak keluar error diatas, pada bagian  WCF server, pastikan debug dibuat true Source Code Source aplikasi ini dapat didownload di http://download.aguskurniawan.net/DownloadFile.aspx?file=3975b820-6099-4f80-914b-105a9be0c883 Semoga berguna….

Tags: , ,

.NET | Distributed System

Introduction to Windows Communication Foundation (WCF)

by Agus Kurniawan 19. August 2009 06:19
Beberapa tahun lalu Microsoft meluncurkan suatu library atau framework yang dikenal Windows Communication Foundation atau disingkat dengan WCF. Library ini memungkinkan kita membantu kita dalam membangun aplikasi berbasis distribusi data. WCF ini sebenarnya merupakan enkapsulasi dari Socket sehingga para developer tidak perlu fokus ke level socket dalam membuat aplikasi distribusi data tetapi lebih fokus pada format data yang merupakan suatu kontrak yang mengikat ketika ingin melakukan komunikasi. Pada saat peluncuran library WCF, Microsoft sudah meluncurkan development tool yaitu Visual Studio 2005 yang targetnya untuk .NET Framework 2.0. Sedangkan library WCF tersebut berjalan diatas .NET Framework 3.0 atau diatasnya sehingga untuk membuat aplikasi WCF dengan menggunakan Visual Studio 2005 maka kita memerlukan WCF Extension yang diinstall dimana Visual Studio 2005 diinstall atau menggunakan Visual Studio 2008 yang baru-baru ini diluncurkan. Unified Programming Model WCF tidak hanya hadir untuk menyelesaikan permasalahan dasar pada sistem distribusi tetapi juga memperbaiki dalam proses pengembangan perangkat lunak. WCF menawarkan model programming yang memungkinkan untuk integrasi beberapa model pemrograman. Tujuan integrasi model programming tidak lain hanya untuk meningkatkan kualitas dan mengurangi lamanya proses pengembangan perangkat lunak. Model pemrograman yang ditawarkan pada WCF seperti yang terlihat pada gambar 1. Setidaknya ada 5 model pemrograman yang dapat kita gunakan untuk berkomunikasi dengan aplikasi WCF. Kelima model pemrograman ini antara lain Web Service (WS)/WS Enhancement (WSE) Web Service (WS) seperti kita ketahui merupakan salah satu cara untuk mendistribusi data dalam bentuk service dan model WS ini diimplementasi dengan pendekatan Service Orientation Architecture (SOA). Sedangkan WS Enhancement (WSE) adalah salah satu jawaban untuk menyelesaikan permasalahan pada WS terutama pada data transfer yang berupa plain text sehingga WSE memberikan alternatif lain yang memungkinknan data transfer dapat berupa binary. Selain itu, WSE juga menawarkan sistem sekuriti yang lebih baik. WS dan WSE dengan berbagai fitur yang mengesankan menjadikan ini salah satu solusi yang ditawarkan oleh Microsoft dan WCF sebagai pengembangan baru dari WS secara inline dapat berkomunikasi dengan WS maupun WSE melalui interop. Attribute-Based Programming Pemrograman berbasis Attribute adalah fitur yang ditawarkan oleh .NET Framework guna membuat aplikasi dengan mudah yaitu cukup dengan memasang attribute pada objek yang didefinisikan. Enterprise service adalah bentuk implementasi dari pemrograman attribute-based. Contoh enterprise service adalah COM+. WCF dapat berkomunikasi dengan COM+ melalui attribute-based. REST/HTTP Programming WCF tidak hanya berkomunikasi dengan platform tetapi juga dapat berkomunikasi pada protokol jaringan seperti HTTP. Protokool ini digunakan oleh WCF untuk distribusi data Message-Oriented Programming Salah satu bentuk message-oriented adalah MSMQ (Microsofr Message Queuing) yang dapat digunakan untuk distribusi data dan juga fitur antrian. WCF dan MSMQ dapat berkolaborasi guna menghasilkan aplikasi yang lebih baik. .NET Remoting .NET Remoting adalah platform komunikasi yang secara implementasinya hanya dapat digunakan pada lingkungan aplikasi berbasis .NET. WCF bisa dikatakan secara implisit merupakan pengganti dari teknologi .NET Remoting dengan fitur yang jauh lebih lengkap. Walau WCF dapat menggantikan .NET Remoting tetapi WCF sendiri dapat langsung berkomunikasi dengan .NET Remoting. ----------------- Bersambung ke [V]

Tags: , ,

.NET | Windows | Distributed System

Generic Dictionary on .NET Framework

by Agus Kurniawan 16. August 2009 09:09
Collection dapat dikatakan fitur yang sering digunakan dalam pemrograman apapun bahasa pemrograman. Pada lingkungan .NET, collection dapat dilakukan dengan pendekatan Clasic collection Generic collection Perbedaan pendekatannya ini hanya pada penekanan native type collection itu sendiri. Dengan native type atau strong ini dapat mendongkrak performance dari code itu sendiri. Generic Dictionary Dictionary salah satu collection object yang disediakan oleh .NET. Dengan menggunakan key dan value, collection ini cocok untuk data yang mempunyai key sehingga integrasi data dapat terjaga. Class diagram Dictionary dapat dilihat pada gambar dibawah ini Penggunaan Objek Dictionary<> Untuk menggunakan objek ini, pastikan menambahkan namepace ini 1: using System.Collections.Generic; Selanjutnya instansiasi objeknya harus diberikan tipe objek collection, contoh macam-macam instansiasi objek Dictionary. Dictionary<string, int> col1 = new Dictionary<string, int>(); Dictionary<string, string> col2 = new Dictionary<string, string>(); Dictionary<int, int> col3 = new Dictionary<int, int>(); Dictionary<int, Employee> col4 = new Dictionary<int, Employee>(); Menambah Data Untuk menambahkan data, cukup memanfaatkan method Add(). Masukkan data sesuai dengan tipe nya, contoh col1.Add("a", 10); col1.Add("b", 15); col1.Add("c", 20);   col2.Add("M1120", "Pemrograman C#"); col2.Add("M1121", "Pemrograman ASP.NET"); col2.Add("M1122", "Pemrograman Silverligt"); Menampilan Data Menampilkan data objek Dictionary, kita dapat memanfaatkan objek KeyValuePair dan selanjutnya lakukan looping. Berikut ini ilustrasinya: foreach (KeyValuePair<string, int> item in col1) { Console.WriteLine("Key: {0} ; Value: {1}", item.Key, item.Value); } foreach (KeyValuePair<string, string> item in col2) { Console.WriteLine("Key: {0} ; Value: {1}", item.Key, item.Value); } Contoh hasilnya seperti gambar dibawah ini Mengedit Data Apabila kita ingin mengeditnya kita harus mengetahui key data yang akan diedit. Setelah didapatkan key baru memanfaatkan [] kita dapat mengedit nilainya, ilustrasi code sebagai berikut: col1["a"] = 30; col2["M1120"] = "Pemrograman T-SQL"; Menghapus Data Menghapus data pada objek Dictionary juga membutuhkan key data. Dengan memanfaatkan method Remove() dengan parameter key, kita dapat menghapus data tersebut. Berikut ini ilustrasi code nya: col1.Remove("a"); col2.Remove("M1120");

Tags: ,

.NET

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Teensy Development Workshop Teensy 3.5 and Teensy 3.6 Boards Edition OpenMV Development Workshop

ESPresso Lite V2.0 Development Workshop  MicroPython for ESP32 Development Workshop

Arduino FIO Development Workshop  Getting Started with Android Things for Raspberry Pi 3

Pycom WiPy 2.0 Development Workshop  XBee ZigBee Development Workshop

SparkFun ESP32 Thing Development Workshop Getting Started With BBC micro:bit

Getting Started With Raspberry Pi Zero W Espruino Pico Development Workshop

Getting Started with ASP.NET Core for OS X, Linux, and Windows  Arduino TIAN Development Workshop

SimpleLink Wi-Fi CC3200 LaunchPad Development Workshop  MicroPython for ESP8266 Development Workshop

Smart Internet of Things Projects  Arduino UNO WiFi Development Workshop

XBee Wi-Fi development workshop SparkFun Simblee BLE Development Workshop

Mengenal Microsoft Azure ML Getting Started with Windows 10 IoT Core for Raspberry Pi 3

Arduino and Genuino Zero Development Workshop Go and SQL Server Programming By Example

Arduino and Genuino MKR1000 Development Workshop  Mengenal Microsoft Azure IoT

Getting Started with Raspberry Pi 3 PHP and PostgreSQL Programming By Example

Arduino and Genuino 101 Development Workshop Getting Started with Raspberry Pi Zero

Getting Started with Arduino Wiring for Windows 10 IoT Core Getting Started with Wolfram Language and Mathematica for Raspberry Pi

Arduino Uno: A Hands-On Guide for Beginner Arduino Leonardo and Arduino Micro: A Hands-On Guide for Beginner

RedBearLab CC3200 Development Workshop The Photon Kit Development Workshop

Python Programming by Example Raspberry Pi LED Blueprints

Bluno Beetle Development Workshop BeagleBone Black Programming using Matlab

Arduino Programming using MATLAB Digispark USB Development Workshop

Near Field Communication (NFC) for Embedded Applications Arduino Development for OSX and iOS

SparkFun ESP8266 Thing Development Workshop Teensy Development Workshop

Getting Started with Windows 10 for Raspberry 2 NodeMCU Development Workshop

Getting Started with ASP.NET 5 for OS X, Linux, and Windows Getting Started with Windows Remote Arduino

Redis Programming by Example The Hands-on ARM mbed Development Lab Manual

Getting Started With STM32 Nucleo Development Getting Started with Windows IoT and Intel Galileo

Learning C by Example Getting Started with Raspberry Pi 2

Getting Started with Arduino and Go The Hands-on Arduino Yún Manual Lab

The Hands-on MEAN Lab Manual, Volume 1 Go Programming by Example

Getting Started with Scratch for pcDuino Raspberry Pi Wireless Networks

BeagleBone Black Programming by Example Database Programming Using R

Learning R in 120 Minutes The Hands-on Intel Edison Manual Lab

Getting Started with pcDuino3 TI ARM Cortex-M LaunchPad Programming by Example

Raspberry Pi I/O Programming using Python Getting Started with Intel IoT and Intel Galileo

Pemrograman Java Tingkat Lanjut PHP and MongoDB Programming By Example

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List