日期:2014-05-18  浏览次数:21157 次

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 

p