COM+ Uygulamasının Proxy Kullanarak Diğer Makinadan Kullanılması - Yazgelistir.com
Bizim örneğimizde COM+’ın biraz daha değişik bir yönüne bakacağız. Bu uygulamamızda ortadaki makina da web uygulamamız mevcut. Bu makina aynı zamanda web uygulamalarında dll kullanmaktadır. Ama bu dll bildiğimiz dll’lerden farklı hareket edecek çünkü aslında bu dll proxy dll olacak ve birinci makinadaki istediğimiz dll’i çalıştırıracak.
Şimdi bu işlemi nasıl yaptığımıza bakalım bunun için öncelikle birinci makinadayız. Yani asıl yayını yapacak makinadayız. Burda class library projemizle bir dll dosyası oluşturuyoruz. Bu dll’i oluştururken ilerde COM+ çevireceğimizi bildiğimiz için basit dll’lere göre bir kaç ekleme yapıyoruz. Eklediklerimiz; System.Enterprise ve ServicedComponent’tir.
Bunun yanında aynı proje içinde AssemblyInfo.vb dosyasına COM+ application’un adını ve oluşturduğumuz strong name’in adresini belirtiyoruz. Strong Name COM+ application için mutlaka belirtilmesi gereken ve dosyanın değişip değişmediğin belirleyen bir sayı dizisi olarak yorumlayabiliriz. Her derlemede bu sayı tekrar oluşturulmaktadır.
Not: Strong Name’in oluşturulması için Visual Studio tools içindeki command prompt’ta sn – k c:\data.snk yazılması gerekmektedir.
Proje tamamlandıktan sonra sıra bu dll’in com+ uygulamasına çevrilmesine geldi. Bunun için yine command prompt’ta regsvcs komutu kullanılır.
Bu komut kullanıldıktan sonra administrative tools’tan component services’e bakarsak dll’imizin dataset application’ı olarak karşımıza geldiğini görürüz. Bu aşamada servisi yapacak makinanın işi bitmektedir. Tabi bu arada rolleri tanımlayıp izinleri vermeniz gerekmektedir.
Bundan sonraki işlem bu dll’i kullancak bilgisayara proxy kurulumu hazırlamak bunun için dataset’in üstünde sağ tıklayıp export yapmamız gerekiyor.
Export işlemi başadığında bu msi dosyasının nerede oluşturulacağı belirtilmelidir. Aynı zamanda Application Proxy seçilmelidir. Böylelikle msi dosyasını çalıştıran makina birinci makinaya yönlendirilecektir.
İkinci makinada msi dosyası çalıştırıldığında ikinci makinanın component service’inde aşağıdaki görüntü oluşacaktır. İlk görünteye göre daha farklı bir ikon çıkmıştır. Bunun anlamı proxy com+ kullandığımızdır.
Bu proxy dll dosyasının ikinci makinada nereye atıldığına bakmak için aşağıdaki adrese gitmemiz yeterli olacaktır.
Şimdi sıra son aşamaya gelmiştir. Bunun için .net web application açılır ve references’a yukarıdaki adresten dll refere edilir.
Web Sayfasına koyduğumuz düğmeye aşağıdaki kodları yazdığımızda da işlemimiz sona erecektir. Artık client istekte bulunduğunda ortadaki makina isteği cevaplamak için birinci makinadaki dll’den yararlanacaktır.