wmismail Posted August 10, 2008 Share Posted August 10, 2008 Remoting Nesnesinin Hazırlanması Öncelikle new/project diyerek bu kısımdan VB altındaki Class Library olanı seçiyoruz. Class ismi olarak galatasaray olarak değiştirin. Hemen al satıra aşağıdaki kodu ekleyin. Bu nesnemizin uzaktan erişimine olanak tanır. InheritsMarshalByRefObject Daha sonra veritabanımıza bağlanmak için bir oledbconnection nesnesi ve sorgu hazırlamak için de bir oledbadapter nesnesine ihtiyacımız var. Bundan sonrada elimizdeki verileri daatsete atmak için dataset oluşturacağız. Kodlar aşağıdaki gibi galatasaray sınıfı içine yerleştirilmelidir. PublicFunctiondataset_getir() Dimbaglanti As NewOleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db.mdb") Dimadap As NewOleDb.OleDbDataAdapter("select * from gs", baglanti) Dimds As NewDataSet baglanti.Open() adap.Fill(ds, "a") baglanti.Close() Returnds End Function Server Hazırlanması Yine file/new/project adımlarını tekrarlayarak visual basic altındaki consol application seçeneğini seçelim ve ok tıklayalım. Yalnız Solution kısmının Add to Solution olmasını unutmayın.Bu aşamada karşımıza modul gelecektir ve buna az önceki nesnemizi referans olarak eklemeliyiz. Bunun yanında remoting kütüphanesini de yine referans olarak göstermeliyiz. Solution Explorer kısmından module(server) sağ tıklayıp çıkan menüden add reference seçeneğini seçelim. .Net kısmından system.remoting ve project kısmında da nesnemizi referans ekleyebiliriz. Bu işlemlerden sonra aşağıdaki kodları konsol uyuglamamız için yazmalıyız. ImportsSystem.Runtime ImportsSystem.Runtime.Remoting ImportsSystem.Runtime.Remoting.Channels ImportsSystem.Runtime.Remoting.Channels.Tcp ModuleModule1 SubMain() Dimkanal As NewTcpChannel(1905) ChannelServices.RegisterChannel(kanal, False) RemotingConfiguration.RegisterWellKnownServiceType(GetType(nesne.galatasaray), "gs", WellKnownObjectMode.SingleCall) Console.WriteLine("Kanal:tcp Port:1905") Console.WriteLine("Server açıldı") Console.WriteLine("Kapatmak için bir tuşa basın...") Console.ReadLine() End Sub End Module Client Hazırlanması file/new/project adımlarından windows application kısmını seçelim. Solution kısmının Add to Solution olmasını unutmayın! Formumuza aşağıdaki nesneleri ekleyelim. 1 adet textbox (name:txtIP) 1 adet datagrid 1 adet button Forma eklediğimiz butonun click eventine aşağıdaki kodları yazın. Dimkanal As NewTcpChannel() ChannelServices.RegisterChannel(kanal, False) RemotingConfiguration.RegisterWellKnownClientType(GetType(nesne.galatasaray), "tcp://"& txtIP.Text & ":1905/gs") Dimnesnemiz As Newnesne.galatasaray DataGrid1.DataSource = nesnemiz.dataset_getir Son olarak solution kısmını(projemizi) sağ tıklayarak bu menüden Set StarUp Project... kısmına geçelim. Buradaki ayarlar aşağıdaki gibi olmalıdır. Projeyi çalıştırdığınızda textbox kısmına ip no yazmanız yeterli olacaktır. Projenin çalışabilirliğini kontrol etmek için buraya localhost yazıp deneyebilirsiniz. (sakın veritabanınızı c:/ dizini içine yerleştirmeyi unutmayınız...) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.