Yes, they are all divided into AppDomain, therefore, in general, they should not be used!
They should not be used, in general, because they are unlikely to be used properly. In addition, safer alternatives exist, such as HttpContext.Cache or even session state.
However, if you encapsulate all access to these static members, and if you do the locking correctly, then you will have a safe implementation, which may turn out to be a bottleneck, while all threads are fighting for a shared resource. It really is better to get by.
Also, you seem to mean ASMX web services, but you must specify ASMX or WCF.
source share