remoting简单问题,请帮帮我

vivitoday 2007-07-09 01:43:16
server:发布为windows service,使用配置文件
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.runtime.remoting>
<application>
<service>
<wellknown mode="Singleton" type="connectionobject,control_library"/>
</service>
<channels>
<channel port="8086" ref="tcp"/>
</channels>
</application>
</system.runtime.remoting>
</configuration>

windows service服务代码为:
protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
RemotingConfiguration.Configure(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);


}
客户端:
string strurl=@"tcp://192.110.1.9”+@":8086/connectionobject";
//MessageBox.Show(strurl);
obj1 = (connectionobject)Activator.GetObject(typeof(connectionobject),strurl);

这样做就是说找不到请求的服务,我不知道错在哪
之前服务器端没有用配置,和windows service都是对的
我想我可能忽略了哪里!请大家帮帮看看
谢谢啦
...全文
210 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivitoday 2007-07-11
  • 打赏
  • 举报
回复
感谢大家的帮助
具体的错误是,我自己一个类,有个错误
不是REMOTING和配置和WINDOWS SERVICE的问题
所以谢谢RedGoldFish (30),一直耐心的解答
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
都有!
我没有用过,我试试TRACE
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
我不会用Trace
不知道在哪里看
______________________

我是指System.Diagnostic.Trace.WriteLine

或者任何可以记录输出的东西,比如输出到Event Log里边.





你说,我把远程对象的那个,DLL应用到,我的windows service这样是对的吧?
______________________________________________________________________

你说的"远程对象的那个.DLL"我理解是服务器方和客户方公共用的定义了connectionobject的那个库文件,它必须在服务器方和客户方都有.
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
你说,我把远程对象的那个,DLL应用到,我的windows service这样是对的吧?
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
我不会用Trace
不知道在哪里看
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
在我第一次调用方法时出错obj1.a()
类别不存在,System.InvalidOperationException”类型的异常出现在 mscorlib.dll 中。
_______________________________________________________

看看客户端和服务器端它们共用的公共接口文件是否都存在,版本有无差异.
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
现在没有“找不到请求的服务"的异常
__________________________________

这看着好象是客户端已经能调用到服务器方的connectionobject.a()方法了,在服务器方的connectionobject.a()里边加Trace证明一下. 如果确实,后来那个异常就和Remoting没有太大关系.

还有,那个方法就是叫"a"吗?不会是用了Obfuscator以后改的吧?
cmHua 2007-07-09
  • 打赏
  • 举报
回复
学习
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
我的程序以前是server用的控制台应用程序做的,可以用的
现在要改成windows service+配置文件
所以我的客户端没有改动过
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
现在没有“找不到请求的服务"的异常
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
这样做就是说找不到请求的服务
____________________________

你开始的时候说是"找不到请求的服务"的异常,现在还有这个异常吗? 这个异常说明客户端根本就调用不到远程的connectionobject.a()方法.
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
在服务器的connectionobject.a()里边加Trace,看看客户端是否真的调用到a()了,有可能是在a()内部出的异常.
godgreat 2007-07-09
  • 打赏
  • 举报
回复
接分
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
1.我把防火墙的端口打开了,
2.还加了服务器的机器名
还是出错:
在我第一次调用方法时出错obj1.a()
类别不存在,System.InvalidOperationException”类型的异常出现在 mscorlib.dll 中。
vivitoday 2007-07-09
  • 打赏
  • 举报
回复
在我第一次调用方法时出错obj1.a()
类别不存在,System.InvalidOperationException”类型的异常出现在 mscorlib.dll 中。
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
还有就是看你的服务器上有几个网卡,多于一块时候需要:

machineName ="服务器机器名"

<channel ref="tcp" machineName ="服务器机器名" port="8086">
<serverProviders>
<formatter ref="binary" typeFilterLevel="Full" />
</serverProviders>
</channel>
viena 2007-07-09
  • 打赏
  • 举报
回复
unknown
RedGoldFish 2007-07-09
  • 打赏
  • 举报
回复
有可能是服务器上防火墙没打开8086口

111,119

社区成员

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

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

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