问题描述
publicstaticobjectExecuteMethod<T>(stringpUrl,stringpMethodName,paramsobject[]pParams){EndpointAddressaddress=newEndpointAddress(pUrl);Bindingbindinginstance=null;BasicHttpBindingws=newBasicHttpBinding();ws.MaxReceivedMessageSize=20971520;ws.Security.Mode=BasicHttpSecurityMode.None;bindinginstance=ws;using(ChannelFactory<T>channel=newChannelFactory<T>(bindinginstance,address)){Tinstance=channel.CreateChannel();using(instanceasIDisposable){try{Typetype=typeof(T);MethodInfomi=type.GetMethod(pMethodName);returnmi.Invoke(instance,pParams);}catch(TimeoutException){(instanceasICommunicationObject).Abort();throw;}catch(CommunicationException){(instanceasICommunicationObject).Abort();throw;}catch(ExceptionvErr){(instanceasICommunicationObject).Abort();throw;}}}}
以上是调用的方法。这是调用语句:objecta=ExecuteMethod<IXmlReqBusService>("http://127.0.0.1:8080/XmlReqBusService/HelloService","Process",newobject[]{"binbin"});publicstringProcess(stringqsw){return"返回接口"+qsw;}这是调用的具体方法返回结果是"返回接口"为什么不是"返回接口binbin"
解决方案
解决方案二:
自己顶一下!!
解决方案三:
publicstringProcess(stringqsw){return"返回接口"+qsw;}object与String需要转换一下吧。。
解决方案四:
传入参数的类型与返回的不匹配,被过滤掉了?
解决方案五:
引用2楼wangnaisheng的回复:
publicstringProcess(stringqsw){return"返回接口"+qsw;}object与String需要转换一下吧。。
publicstringProcess(objectqsw){return"返回接口"+qsw.ToString();}这样子也不行
解决方案六:
引用3楼FoxDave的回复:
传入参数的类型与返回的不匹配,被过滤掉了?
这应该没关系吧
解决方案七:
顶起来啊,不要沉下去