调用远程组件异常,高分求解
异常信息: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(明) 的说法 --------------------编程问答-------------------- 问题解决? --------------------编程问答-------------------- 什么呀 --------------------编程问答-------------------- --------------------编程问答-------------------- 我也有这也问题啊。。。 --------------------编程问答--------------------
为啥都是问号。。。。NULL EXCEPTION 空引用了
看看你传过去的参数是不是有问题 cout 这东西你哪里定义的?
补充:.NET技术 , 组件/控件开发