by definition, SingleCalls are handled by new objects. So if you want to keep state information, either you need to provide the state information in each call, or don't use SingleCall then, use Singleton or client-activated remote objects
解决方案 »
- html上面的一个标题类的行,如何设置宽度?急,尝试了很多次都失败了!
- 如何判断网页下载完成
- httpwebrequest模拟登录 中国专家网博客,看似很简单,却登录不了
- 如何进行遍历!!!!!!!!
- 菜鸟FreeTextBox.dll 问题
- 求教:C#2005中连接远程Oracle数据库的项目,对客户端的要求,详见内容,谢谢!!!
- 请问在我的VS2005.net开发环境中怎么缺少一个控件?谢谢!!!
- 快来救火呀,关于全屏的事老不理想。最后的的分全散了。急急急
- 关于WEB开发中C和V结合方式的讨论
- 请高手及专家回答,一个有关WINDOWS用户的问题,谢谢:)
- 各位大侠再哪能下.NET的(BETA2)版本
- 这到底为什么——存储过程问题
我的程序是C/S结构,客户端通过接口远程调用服务器组件,并返回DataSet,如果采用Singleton,每调用一次组件,DataSet中数据就增加一次(本不应该增加),如果用SingleCall,DataSet中数据正确。请问如何处理?
另外,你提到的客户端激活远程对象如何实现?
谢谢!
{
private SqlConnection SqlDataBaseConnection;
private DataSet Orgnset=new DataSet();
private SqlDataAdapter SOrgnAdapter; public DataSet Function1(ref SqlConnection DBConnection)
{
...
string cmdline="select orgid from organization";
SqlCommand Query=new SqlCommand(cmdline,DBConnection);
SOrgnAdapter=new SqlDataAdapter(Query);
SOrgnAdapter.Fill(Orgnset,"OrgList");
cmdline="insert into orgrole (orgname,parentid,description) values ....
SOrgnAdapter.InsertCommand=new SqlCommand(cmdline,DBConnection);
SqlParameter parameter=SOrgnAdapter.InsertCommand.Parameters.Add...
......
} public void Function2()
{
SOrgnAdapter.Updata(Orgnset.Tables["UserMemList"]);
SOrgnAdapter.Fill(Orgnset);
}
}
第2次调用实例化的是新的对象,当然是空的了。
如果使用SingleCall方式,有两个办法
1、将SqlDataAdapter声明为静态的,但是在并发下会出错
2、在类DealData的构造函数中实例化SOrgnAdapter
另外SqlConnection是从其他类中传过来的,但是构造函数不允许有参数,怎么办?
class SomeClass
{
public string info;
}void SomeMethod(SomeClass state,...)
但是客户端激活,我通过接口生成实例时,提示"对于不是从 MarshalByRefObject 派生的类型,不支持激活属性。"。难道客户端不能接口访问服务端组件吗?如果可以,我该怎么做?谢谢!