Alsalamo 3alykom wara7mato Allah
We are working in a project that uses the WebService to be enabled to be accessed through the Web.
In this project we have two solution: 1- Forms Solution. 2- Main Solution.
The first one contains the forms that will be shown to the user, and it has its own WebService (let's name it 'GUI_WS') that retreives these forms' data.
And the other solution is for the main form that calls the forms in the first solution and it has also its own WebService (its name is 'Main_WS') which gets the data needed for this form (e.g. the data in the MainContextMenu).
My problem is here when we get the data through 'Main_WS', it is retreived successfully and shown in the main form. But when calling a form to be shown, its WebService (GUI_WS) doesn't work and an exception is thrown after 60 seconds. The exception is shown below:
The CLR has been unable to transition from COM context 0x36daf8 to COM context 0x36dc68 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.
And a picture of the exception is attached.
And when we stop the retreiving of the main data, i.e. stopping the usage of 'Main_WS' and start calling a form that uses 'GUI_WS', no errors shown and the form retreives its data successfully.
How can I solve this problem as I need to use the both WebServices?
I need you help in my problem.
Thank you very much for you cooperation.
Mohammed Ramadan A. Mahmoud
Software Developer
EBS International
