.net Web服务能否在每次调用时封装程序集或共享对象?

.net Web服务能否在每次调用时封装程序集或共享对象?,.net,web-services,asmx,.net,Web Services,Asmx,我们没有一个ASMXWeb服务,它是在VisualStudio中创建的,被植入到IIS服务器中 在这种情况下,Web服务的项目与另一个项目(库类项目)位于一个解决方案中,Web服务的一些功能使用对该项目的引用。该库类项目有一个内部使用的共享对象。我是说;webservice函数->库类函数->共享对象 问题是共享对象显然是在所有webservice调用之间共享的。。。如果可能的话,我需要每次调用webservice函数时,整个库类程序集在该调用中都有自己的上下文。我在并发调用中遇到了不希望出现的

我们没有一个ASMXWeb服务,它是在VisualStudio中创建的,被植入到IIS服务器中

在这种情况下,Web服务的项目与另一个项目(库类项目)位于一个解决方案中,Web服务的一些功能使用对该项目的引用。该库类项目有一个内部使用的共享对象。我是说;webservice函数->库类函数->共享对象

问题是共享对象显然是在所有webservice调用之间共享的。。。如果可能的话,我需要每次调用webservice函数时,整个库类程序集在该调用中都有自己的上下文。我在并发调用中遇到了不希望出现的行为,因为所有调用都在使用共享对象的同一实例。有没有办法配置程序集、项目或IIS来实现这一点


多谢各位

“我们没有一个asmx web服务,它是在visual studio中创建的,被移植到IIS服务器中。”-Implantd???-哇!不您不必使用共享对象<代码>MSDN:此类型的任何公共静态(在Visual Basic中共享)成员都是线程安全的。任何实例成员都不能保证线程安全。Hi-TS,谢谢您的回答,我的英语很抱歉。问题不在于线程安全。webservice使用的DLL来自一个有140个类的项目。它们都使用共享组件。如何从所有类访问该组件,而不共享它,也不必让每个类接收或实例化该对象?是的,这是关于线程安全的。你明白吗??如果您有
公共静态类…
-您可以有任意多个线程访问它。现在,如果你有
公共类X。。。。public void DoThis()
,如果以后为每个实例创建实例,则很可能是线程安全的。但是如果您在某个地方有
var globalX=new X()
,并且您的所有组件都调用
globalX
,那么可能会有怀疑-它不是线程安全的。顺便说一句,这不是答案。这只是一个评论。你需要发布一些代码才能得到答案