首页 > 编程 > .NET > 正文

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

2024-07-10 13:01:01
字体:
来源:转载
供稿:网友
写一个简单的remoting 服务程序,helloworld:)

类函数:


public class simpleobjectclass simpleobject
inherits system.marshalbyrefobject

public function helloworld()function helloworld(byval message as string) as string
return "hello world" & message
end function

end class
host 程序代码
imports system.runtime.remoting.channels
imports system.runtime.remoting.remotingconfiguration
public class hostclass host
public shared sub main()sub main()
dim channel as new http.httpserverchannel(6363)
channelservices.registerchannel(channel)
registerwellknownservicetype(gettype(objectlib.simpleobject), "simpleobject", runtime.remoting.wellknownobjectmode.singlecall)
console.writeline("started ok")
console.readline()
end sub
end class


下面讨论几种调用方式

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

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

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

dim o as object = system.runtime.interopservices.marshal.bindtomoniker("soap:wsdl=http://localhost:6363/simpleobject?wsdl")
msgbox(o.helloworld("asdf")) 当然要设置option explicit off

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

3。常规的方式,忽略。。。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表