当前位置:编程学习 > C#/ASP.NET >>

调用远程组件异常,高分求解

异常信息:
System.ArgumentNullException: ?????? DispatchChannelSink ???????????????????????????????????????
?????????: requestMsg
   ??? System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   ??? System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   ??? System.Runtime.Remoting.Channels.Http.HttpServerTransportSink.ServiceRequest(Object state)
   ??? System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()


客户端代码:
ChannelServices.RegisterChannel(new HttpChannel());

string uri = "http://192.168.137.1:8828/GisClassLibary/SpatialDataManager";
ObjectServer.ISpatialDataManager obj = null;
obj = (ObjectServer.ISpatialDataManager)Activator.GetObject(typeof(ObjectServer.ISpatialDataManager), uri);

obj.loadMap1(ref cout);   //loadMap1 函数返回FeatureLayer对象,该类是通过DLL引入的一个外部类, 调用该类时抛了上面的异常System.ArgumentNullException: ?????? DispatchChannelSink ???????????????????????????????????????
?????????: requestMsg , 不知道该怎么解决该问题?

函数定义: FeatureLayer loadMap1(ref int count)
--------------------编程问答-------------------- 把你的Server代码也放到你PC上去DEBUG吧! --------------------编程问答-------------------- ref cout问题吧?
1 可能是因为你没有在本地注册,我觉得最好注册为singlton或干脆为客户端激活型
2 可能是你没有定义cout
3 我总是觉得ref的问题,因为你调用用的是服务器的对象, --------------------编程问答-------------------- 同意楼上的,ref 返回有问题。
建议还是通过返回值得方式来得到该值
这不是掉用本地的函数 --------------------编程问答-------------------- 同意suncatcher(明) 的说法 --------------------编程问答-------------------- 问题解决? --------------------编程问答-------------------- 什么呀 --------------------编程问答-------------------- --------------------编程问答-------------------- 我也有这也问题啊。。。 --------------------编程问答--------------------
引用楼主 cimu 的回复:
异常信息:
System.ArgumentNullException:   ??????   DispatchChannelSink   ???????????????????????????????????????
?????????:   requestMsg
        ???   System.Runtime.Remoting.Channels.DispatchChannelSi……


为啥都是问号。。。。NULL EXCEPTION 空引用了

看看你传过去的参数是不是有问题 cout 这东西你哪里定义的?
补充:.NET技术 ,  组件/控件开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,