关于webservice的同时调用的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于webservice的同时调用的问题?相关的知识,希望对你有一定的参考价值。

如果多个请求同时调用的服务函数,是不是先调用的人服务器先给他处理,其余的人在等待状态?
等待会超时么?

不会的。分两种情景理解:
1,一个客户端一个Service实例通过异步共同访问一个接口,这样需要等待的。
2,一个或者多个客户端不同Service实例共同访问一个接口,这样不需要等待。
参考技术A 在调用的时候,一定会初始化一个web service实例,然后调用实例中的方法。每一个客户端都会初始化一个实例,webservice可以看作是一个资源,可以被多个客户端同时请求,但是能够接受多少连接,是看服务器的本回答被提问者和网友采纳 参考技术B 这个和你的服务器的配置与性能有关,每个人调用的时候是单独打开一个线程,互相之间不莫顿的,因此你的担心是多余的。 参考技术C 汗、不是那样子的。调用webservice跟你在类库调用方法是一样的都可以同时调用无需等待的、追问

不是单线程的么?

追答

不是单线程、你可以试试

参考技术D 在调用的时候,一定会初始化一个web service实例,然后调用实例中的方法。每一个客户端都会初始化一个实例,webservice可以看作是一个资源,可以被多个客户端同时请求,但是能够接受多少连接,是看服务器的

请教个关于多线程调用webservice接口是不是会相互影响的问题

对webservice接口不太了解,请教个问题:IT数据库开放了一个webservice接口,根据输入的查询信息查询数据库后返回查询结果,一次查询大概需要十多秒。webservice服务名称是MESWebservice,访问过程中先初始化一个实例,假设命名为temp:MESWebservice.commservice temp = new MESWebservice.commservice();随后开线程服务ThreadService,里面使用temp.process()函数处理数据,线程里面查询返回结果大概需要十多秒。想问个问题:如果同一时间内有2个以上线程同时使用temp.process()处理数据,各个线程之间会不会相互影响。之所以问,是看论坛上说temp是个实例,实例的话如果像变量一样那么线程之间会有相互影响。如果这个实例是方法一样的东西那就不会相互影响,目前不太确定论坛上说temp是个实例到底属于哪一种。还请知道的指导下,谢谢。

会可能相互影响,因为是多线程操作同一个对象(实例).如果是每个线程建1个MESWebservice.commservice实例,那影响基本在web server端(如果server有共用对象,如数据库). 参考技术A 如果你担心有影响,就要想办法多写一两个(可执行的)测试用例来!否则,不必杞人忧天。编程以测试为准,而不是以理论为准。另外,不能说什么“使用实例就有影响、调用方法就没有影响”。这两个概念根本看不出“有还是没有”影响,所以是不置可否的。实际上,你去想想“自己能不能写出什么测试用例来获得bug”,这就是让你去稍微深入一点去想想“到底怎样才叫做有影响”。编程需要深入一点、主动一点,既然我们说不出什么“影响”来那么也不用怕,只要你有足够的测试就有勇气用你自己的方法继续下去。 参考技术B 设计一个测试用例,就是要想到“我这个测试可以深入到代码中的哪一行,我这个负载压力可以压到代码中的哪一行”,也就是有点深度。当你经常写测试,就好像你自己动手写的那样,并且集成在一起让它们随时可以自动反复去跑(例如你中午吃饭的时候就可以启动测试,然后回来时再来处理发现的第一个问题),那么技术才真正提高了,不用活在“还是不确定”的阴影里了。 参考技术C Wevservice接口是MES系统那边的,我这边只是客户端,没法控制那边,所以只能用他们给的接口 参考技术D 感觉WebServices还不如写个通用的Socket查询服务程序来的方便。

以上是关于关于webservice的同时调用的问题?的主要内容,如果未能解决你的问题,请参考以下文章

C# WebService动态调用

php5调用web service

C# 关于Web service + XML接口开发

web api与webservice(转)

.Net下实现配置化调用JAVA开发的WebService

关于webResponse类使用的时候超时问题