Remoting....救命!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

snyl 2007-07-04 11:43:56
原贴
http://community.csdn.net/Expert/topic/5633/5633870.xml?temp=6.296939E-02

我想问的是,是不是在客户端调用远程对象以后都要清空一下?

为什么我更改服务端代码重新安装服务,再运行客户端就会出错??
...全文
688 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnlyly 2008-05-08
  • 打赏
  • 举报
回复
用多线程来实现吧
snyl 2007-07-04
  • 打赏
  • 举报
回复
我也没有动服务,过了一会刷新一下,具然又好了.

可重新安装下服务还会出现这样的错误,汗,,是不是Remoting的生命周期什么的

有没有人可以帮我一下,弄了好几天没有找出个所以然来.....

致谢
snyl 2007-07-04
  • 打赏
  • 举报
回复
不是,就是一个字符串,不晓得为什么给这样的提示
chenguangxi 2007-07-04
  • 打赏
  • 举报
回复
你需要返回的是一个时间类型吗
snyl 2007-07-04
  • 打赏
  • 举报
回复
在wr方法的

public class Hosts : MarshalByRefObject
{
public string wr()
{

return "aaaaa";
}''出错该字符串未被识别为有效的 DateTime。

}


调试的时候说:调用的目标发生了异常

dreamlins 2007-07-04
  • 打赏
  • 举报
回复
close All Channel
jjhlover 2007-07-04
  • 打赏
  • 举报
回复
不会,帮顶
wzd24 2007-07-04
  • 打赏
  • 举报
回复
把详细的异常贴出来!
supeng2010 2007-07-04
  • 打赏
  • 举报
回复
你可以参照我的bloghttp://blog.csdn.net/supeng2010/archive/2007/07/03/1676904.aspx
supeng2010 2007-07-04
  • 打赏
  • 举报
回复
当客户端向服务端发送消息是,就会在客户端注册一个通道,所以没个客户进入都要有唯一的通道才可以,相当与session一样所以每次发送的时候你都必须把客户的通道注销掉。然后在重新生成,IChannel[] channels = ChannelServices.RegisteredChannels;//列出所有通道的名称
foreach (IChannel eachChannel in channels)//进行刷选
{
if (eachChannel.ChannelName == Session["User_Id"].ToString())
{
TcpClientChannel tcpChannel = (TcpClientChannel)eachChannel;
//注销通道;
ChannelServices.UnregisterChannel(tcpChannel);
}
}
IChannel channel = new TcpClientChannel(Session["User_Id"].ToString(), new BinaryClientFormatterSinkProvider());//注册唯一标示的通道

ChannelServices.RegisterChannel(channel, false);
faxBus = (IFaxBusiness)Activator.GetObject(typeof(IFaxBusiness),
"tcp://" + ViewState["ip"].ToString() + ":8090/ServerMsSql.soap");//向指定的服务端发送端口号
bool Rec = faxBus.SendFax("Create", this.TxtDatabaseName.Text.Trim(), this.TxtLoginUser.Text.Trim(), this.TxtLoginPwd.Text.Trim(), this.Lblsize.Text, "");//客户订阅服务端事件,这是本人测试通过的。
snyl 2007-07-04
  • 打赏
  • 举报
回复
try
{
return "bbbb";
}
catch (Exception e)
{

return e.Message;
}
我这样他也是同样的错误,try不好用,

vs提示:调用的目标发生了异常。在执行远程对象方法时
snyl 2007-07-04
  • 打赏
  • 举报
回复
不知道为什么会提示不是有效的时候


我是把服务安装到本地,调试的
snyl 2007-07-04
  • 打赏
  • 举报
回复
“/test”应用程序中的服务器错误。
--------------------------------------------------------------------------------

该字符串未被识别为有效的 DateTime。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.FormatException: 该字符串未被识别为有效的 DateTime。

源错误:


行 97: {
行 98: return "bbbb";
行 99: }
行 100:}
行 101:


源文件: f:\test\App_Code\Hosts.cs 行: 99
RedGoldFish 2007-07-04
  • 打赏
  • 举报
回复
现在是,我安装完服务,刚开始不好用,创建远程对象没有问题;执行远程对象方法出错,过一段时间就好用了,这样
____________________________________________________________________

说实话,这不象Remoting问题,却更象你服务器本身有和时间相关的逻辑错误,你在远程Hosts的方法里Catch异常了吗?

另外,把客户端得到的异常原文贴上来看看.
RedGoldFish 2007-07-04
  • 打赏
  • 举报
回复
[Serializable]
public class RemotingObj :MarshalByRefObject
{
//
}
_________________________________________

Remoting 类通常是MarshalByRefObject 或者[Serializable],不会两个一起用吧.
RedGoldFish 2007-07-04
  • 打赏
  • 举报
回复
我想问的是,是不是在客户端调用远程对象以后都要清空一下?
--------------------------------------------------------

不需要,远端remoting服务器不记录Reference 数目的,它有一套租用机制负责生命周期. 这点和DCOM不同.
snyl 2007-07-04
  • 打赏
  • 举报
回复
有人看见此贴,帮忙研究一下好吗?????


snyl 2007-07-04
  • 打赏
  • 举报
回复
一会可以用一会不可以用,郁闷死

我新建了一个服务,也是一样,是不我机器哪了设置出了问题


以前一直用都没有出现过错误的
SassyBoy 2007-07-04
  • 打赏
  • 举报
回复
给些参考文章,希望对lz有所帮助...
http://www.cnblogs.com/lovecherry/archive/2005/05/24/161437.html
snyl 2007-07-04
  • 打赏
  • 举报
回复
对了,还要注意的是远程对象是可以序列化的:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这个是什么意思


我之前在服务端的类中就加入了你所说的方法,扔然出现此现象

现在是,我安装完服务,刚开始不好用,创建远程对象没有问题;执行远程对象方法出错,过一段时间就好用了,这样

加载更多回复(4)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧