首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#NET怎么实现分布式开发

2012-02-17 
C#.NET如何实现分布式开发?类似于java中的EJB[解决办法]刚刚才写的一个!服务器和客户端需要引用“类文件”和

C#.NET如何实现分布式开发?
类似于java中的EJB

[解决办法]
刚刚才写的一个! 

服务器和客户端需要引用“类文件” 和System.Runtime.Remoting; 

类文件 
-------------- 
using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Data; 
using System.Data.SqlClient; 


namespace db 

public class DBAccess:MarshalByRefObject 

private SqlConnection con; 
private SqlDataAdapter da; 
private DataSet ds; 
public DBAccess() 

Console.Write( "构造方法 "); 


public DataSet GetDateSet(string strSql,string tabName) 

con = new SqlConnection( "server=(local); " + "integrated security=SSPI; " + "database=henry "); 
da = new SqlDataAdapter(strSql, con); 
SqlCommandBuilder builder = new SqlCommandBuilder(da); 
ds = new DataSet(); 
da.Fill(ds,tabName); 
return ds; 


public override object InitializeLifetimeService() 

return null; 



-------------------------------------- 

服务器文件 
-------------------------------------- 

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Runtime; 
using System.Runtime.Remoting; 
using System.Runtime.Remoting.Channels; 
using System.Runtime.Remoting.Channels.Tcp; 


namespace db 

public partial class Form1 : Form 

public Form1() 

InitializeComponent(); 


private DBAccess obj; 
private void Form1_Load(object sender, EventArgs e) 

TcpServerChannel channel = new TcpServerChannel(8888); 
ChannelServices.RegisterChannel(channel, false); 
RemotingConfiguration.RegisterWellKnownServiceType(typeof(DBAccess), "Hi ", WellKnownObjectMode.Singleton); 





------------------------------------------------------ 

客户端代码 form1 
--------------------------------------------------- 
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using System.Runtime; 
using System.Runtime.Remoting; 
using System.Runtime.Remoting.Channels; 
using System.Runtime.Remoting.Channels.Tcp; 


namespace db 

public partial class Form1 : Form 


public Form1() 

InitializeComponent(); 


private DBAccess obj; 
private void Form1_Load(object sender, EventArgs e) 

TcpClientChannel channle = new TcpClientChannel(); 
obj = (DBAccess)Activator.GetObject(typeof(DBAccess), "tcp:/服务器的ip地址:8888/Hi "); 
dataGrid1.DataSource = obj.GetDateSet( "select * from login ", "login "); 
dataGrid1.DataMember = "login "; 




------------------------------------------ 

热点排行