关于webservice通信结构的疑问

LEON137 2008-12-29 09:49:19
小弟最近在学习webservices的内容,看完书之后对书中的部分内容有些迷惑,希望大虾帮忙下:
问题1 :书上说 webservices 分为可户端部分和服务器部分 我对这个服务端和客户端的概念还是很模糊,正常情况下客户端应该是我的浏览器(因为通过浏览器才能访问asp页面),但是当我用.net生成最简单的helloworld 的webservices的时候,发现有两个端口在提供服务,分别为localhost1756和2182,从这里看来似乎客户端应该是我们平时的asp.net的服务端程序,而服务端就是我们刚建立的webservices程序,而不是通常意义上的浏览器是客户 请问正确的说法是怎样?
问题2: 请问代理类又是指哪个 简要介绍下
非常感谢
...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
much0726 2009-01-06
  • 打赏
  • 举报
回复
是不是可以这样理解,假如我用3台机器,a上有浏览器,b上是我的asp.net部署文件,c上有webservices服务,a访问b时,b会在需要时(要调用webservices服务时)访问c,同时把b和c的共同结果生成网页发送到a,所以a看到的就是一个调用了webservices过程后的网页
---------------------
是的.比如天气预报的效果.ASP.NET程序通过调用WS服务获得数据,返回显示给浏览器.
LEON137 2008-12-31
  • 打赏
  • 举报
回复
up
LEON137 2008-12-30
  • 打赏
  • 举报
回复
自己up下,明确问题后马上会结分的 请放心
LEON137 2008-12-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 much0726 的回复:]
问题1 :你生存helloworld服务时,看到的localhost1756和2182端口,其中一个是服务端,一个是客户端,因为你是本地调试的,所以会在一起,如果你把服务端(helloworld)放到另一台机子上发布(IIS),然后在自己机子上访问就会看清楚些了.客户端并不是服务程序,平时我们执行的ASPX页面只是通过IE执行服务端的脚本,如果想要理解客户端和服务端的概念,最好先了解下C/S架构,客户端不一定是用网页形式的,有时候是一个应用程序,控制程序,只要可以发…
[/Quote]
是不是可以这样理解,假如我用3台机器,a上有浏览器,b上是我的asp.net部署文件,c上有webservices服务,a访问b时,b会在需要时(要调用webservices服务时)访问c,同时把b和c的共同结果生成网页发送到a,所以a看到的就是一个调用了webservices过程后的网页
erik0930 2008-12-30
  • 打赏
  • 举报
回复
mark
much0726 2008-12-30
  • 打赏
  • 举报
回复
问题1 :你生存helloworld服务时,看到的localhost1756和2182端口,其中一个是服务端,一个是客户端,因为你是本地调试的,所以会在一起,如果你把服务端(helloworld)放到另一台机子上发布(IIS),然后在自己机子上访问就会看清楚些了.客户端并不是服务程序,平时我们执行的ASPX页面只是通过IE执行服务端的脚本,如果想要理解客户端和服务端的概念,最好先了解下C/S架构,客户端不一定是用网页形式的,有时候是一个应用程序,控制程序,只要可以发送SOAP数据包就可以,服务端接受到SOAP包,通过WSDL解析出结构,在帮定的方法上进行调用,获得的结果通过SOAP数据包回馈给客户端,就完成了一次的服务调用.所以,你理解的不完全正确.
问题2:代理类使用WSDL语言(一种描述标记语言),生成的本地类,它封装了要调用服务通讯的方法.生成代理类的方法有两种:
一、在VS提供的命令提示符中编译WSDL文件。
给个例子:
Wsdl /language:CS /n:mynamespace /out:myProxyClass.cs C:/myProject/wsdl/webservice.wsdl
最后一个参数是本地的绝对路径,是一个文件,也可以是一个网络路径。
二、在项目右键中添加WEB引用,输入本地的WSDL的绝对路径。
注意:用VS引用生成的代理类名称为Reference.cs,可以在项目目录下找到
有了代理类,在调用WEB服务的方法的时候就变得轻松简单,你只要申明一个代理类的实例,这个实例就有WEB服务的所有公共方法了.只要给这些方法传入参数,通过代理类就可以获得相应的返回值了,这个返回值也是通过SOAP包返回的(这样就可以理解客户端和服务端的区别了),当然整个交互过程都被代理类包办了.
LEON137 2008-12-30
  • 打赏
  • 举报
回复
也就是说我的第2种理解是正确的?
enasp 2008-12-29
  • 打赏
  • 举报
回复
代理类,即引用后,自动添加,我刚做成功
长沙三毛 2008-12-29
  • 打赏
  • 举报
回复
WebServices类似动态库dll,是给其他程序调用用的,而这种调用是基于Internet和http/soap的。WebService所在的服务器为服务器端,调用端就是客户端——可以是ASP.NET/JSP,也可以是WinForm程序。
通常情况下,WebService使用80号端口。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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