请问webservice里的类要如何初始化?

xspeter 2004-09-17 09:46:10
我在webservice里定义了一个myuser类,但是用public sub new(byval id as integer)这样来写,客户端引用了之后,却无视这个参数的存在,还是只能定义能如dim user as new myuser()这样。

请问应该怎样才能初始化?
...全文
156 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rottenapple 2004-09-17
  • 打赏
  • 举报
回复
web services 只是提供了一系列的服务,一些方法。也就是你程序中的wen method
CMIC 2004-09-17
  • 打赏
  • 举报
回复
你没能理解web service的本质,你写的类必须继承System.Web.Services.WebService,它的构造函数public WebService()是不可以带参数的。

而如果给类加方法,就得每次都传一遍用户名和密码,效率很低
-----------------------------
web service本质是asp.net是无状态的,user_A as new myuser("用户名","密码")也必须每次都重新传递参数,不要考虑这种微不足道的性能损失。
xspeter 2004-09-17
  • 打赏
  • 举报
回复
谢谢楼上的各位。
我是想通过在定义实例时直接将实例初始化,就像dim mycommand as sqlcommand(sql,myconnection)一样,直接将mycommand的两个属性指定。

具体说是这样:
有一个用户数据库,建webservice,远程存取用户数据库里的内容;

所以写了一个myuser的类,希望能在定义实例时直接用用户名和密码初始化实例,即希望能用dim user_A as new myuser("用户名","密码")
这样的形式得到一个具体的实例。这样接下来就可以用自己定义的属性,如user_A.email,user_A.age之类的来读数据

在webservice里这样写:
public sub new(byval username as string,byval password as string)
MyBase.New()
连接数据库,初始化各变量
……
end sub

而如果给类加方法,就得每次都传一遍用户名和密码,效率很低

如果不用webservice,可以用这种方式来实现,然后在页面里就可以用dim XXX as new myuser("用户名","密码")这样来初始化XXX,但是在webservice里好像不行,不管我怎么在new那里加参数,客户端都显示参数应该为空,也就是只能是dim XXX as new myuser()

查了很多资料都没找到问题的解决办法,不过以下是一个老外的做法:

http://www.thecodeproject.com/vb/net/DynamicWebServices.asp

好像可以对webservice进行初始化,但是我机器上始终是不行,大家有遇到过这问题吗?
eboywy 2004-09-17
  • 打赏
  • 举报
回复
错了。
先把webservice引用到项目中来,再建立webservice的实例。
dim MyService as new MyWebService()
然后用MyService.调你的类,myuser或方法。
eboywy 2004-09-17
  • 打赏
  • 举报
回复
dim user as new myuser()
这样就行了。

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧