Quantcast
Viewing all articles
Browse latest Browse all 9369

Re: WCF - dealing with concurrency

Hi, there.

As I am still learning from this situation I would like to share with you my latest thougths about it.

 

 


Suppose there's this WCF Project, with a  simple userobject that updates a global var named "gdb_saldo".

 

Inside this nvo I've created and published three functions. One to make deposits to this global var  ( uf_soma ), another one to withdrawals  ( uf_saca ) and the last one just to check its current value (uf_saldo).

 

If I invoke this WCF through more than one client instance, and in that case it doesn't matter whether it was built with PB Classic or another language, the value of "gdb_saldo" var  will be shared between all instances.

 

 

The print below shows my WCF Project.

Image may be NSFW.
Clik here to view.
scn_forum1.gif

 

Theses other prints show the behaviour of the global var "gdb_saldo", while invoking the WCF through 2 client instances:

Image may be NSFW.
Clik here to view.
scn_forum2.gif
Image may be NSFW.
Clik here to view.
scn_forum3.gif
Image may be NSFW.
Clik here to view.
scn_forum4.gif
Image may be NSFW.
Clik here to view.
scn_forum5.gif

By changing some settings in IIS I was able to avoid that problem.

I've changed the  "maximum number of worker processes, so I could isolate the sessions.

Also I've changed the idleTimeout for each worker process.

 

I could consider my problem solved, but I still need to take a good look at performance and memory management.

 

Besides there's one big concern that I should be aware of.

The problem occurs when I deploy my WCF in Powerbuilder 12.5.2( Build 5602 )  EBF 21973. But I was not able to reproduce it in Powerbuilder 12.5.2 (Build 4595). Maybe there's a problem inside this EBF that triggers the error...

 

 

I hope I can help others who are facing the same kind of problem.


Viewing all articles
Browse latest Browse all 9369

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>