`
wsql
  • 浏览: 11716661 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

客户端调用第三方remoting 服务程序的n中方式,VB.NET 晚期邦定还真方便

阅读更多

写一个简单的Remoting 服务程序,HelloWorld:)

类函数:

PublicClassSimpleObjectClassSimpleObject
InheritsSystem.MarshalByRefObject

PublicFunctionHelloWorld()FunctionHelloWorld(ByValmessageAsString)AsString
Return"HelloWorld"&message
EndFunction


EndClass

host 程序代码
ImportsSystem.Runtime.Remoting.Channels
ImportsSystem.Runtime.Remoting.RemotingConfiguration
PublicClassHostClassHost
PublicSharedSubMain()SubMain()
DimchannelAsNewHttp.HttpServerChannel(6363)
ChannelServices.RegisterChannel(channel)
RegisterWellKnownServiceType(
GetType(ObjectLib.SimpleObject),"simpleobject",Runtime.Remoting.WellKnownObjectMode.SingleCall)
Console.
WriteLine("startedok")
Console.ReadLine()
EndSub

EndClass



下面讨论几种调用方式

1.可客户端不支持或者没有安装.NET Framework 的情况。

本质上remoting 服务端和客户端走的是Soap协议,对于简单的方法。只要客户端能支持Soap就可以了。微软提供了一个soaptoolkit ,比如在vb6 中调用我的remoting 服务。
DimoAsNewSoapClient30
o.MSSoapInit
"http://Server:6363/simpleobject?wsdl"
MsgBoxo.HelloWorld("montaque")

2. 在vb.net 中调用remoting 服务。通过bindingtomoniker

DimoAsObject=System.Runtime.InteropServices.Marshal.BindToMoniker("soap:wsdl=http://localhost:6363/simpleobject?wsdl")
MsgBox(o.helloworld("asdf"))
当然要设置option explicit off

上述代码好像无法翻译成C#

3。常规的方式,忽略。。。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics