Hi Hugh,
I'm investigating on your code and trace log. By comparing the two
trace logs, we can clear see the thread is hanging at calling the
wse.ProcessMessage method, but it didn't entered the method.
It's really a strange problem, because it's an webservice method, .NET
Framework has done a lot under hood. So I guess it maybe use some methods
which will invoke the main thread (you main thread is sleeping , right?).
Can you try removing the while(){ ... sleep(250)} block? Is it ok to
just return to skip handling the event?
This maybe helpful, but I'm not sure if your program logic allow you to do
so. If this will break the logic of your program, you may try your own
method to remove the while loop and let me know your change.
I'll wait for your result, thanks!
Kind regards,
Ying-Shen Yu [MS]
Microsoft Support Engineer
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use. 2001 Microsoft Corporation. All rights
reserved.
--------------------
| Reply-To: "hs" <
[email protected]>
| From: "hs" <
[email protected]>
| References: <
[email protected]>
<J#
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
<
[email protected]>
| Subject: Re: datagrid scrolling/ threading problem
| Date: Tue, 9 Sep 2003 09:13:22 +0100
| Lines: 123
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
| Message-ID: <#
[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.windowsforms
| NNTP-Posting-Host: mailgate.synergy-logistics.co.uk 62.49.130.162
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.windowsforms:51920
| X-Tomcat-NG: microsoft.public.dotnet.framework.windowsforms
|
| Hi Ying-Shen
| Sorry about the delay in response. I think my working day ends when yours
is
| about to start.
| I took out some of the original trace to make it simpler to read. Here it
is
| again (ProcessMessage traces begin with"server-main method").
| button1_click gets the first 250 records (GetMyDataTable250 method) and
the
| datagrid scrolling gets the remaining records (in 4 chunks.....each chunk
| has a maximum of 750 records).
| thanks once again
|
| 1)Trace for slow scrolling ...works fine.
| 2003-09-09 07:59:47:687 client: start
| 2003-09-09 07:59:47:788 server-main method: start
| 2003-09-09 07:59:48:849 server-main method: datatable fill complete
| 2003-09-09 07:59:48:879 server-main method: more than 250 records found
| 2003-09-09 07:59:48:949 server-main method: return from
| CreateCompressedMyDataTable
| 2003-09-09 07:59:48:979 server-main method: dime attachment added
| 2003-09-09 07:59:49:049 client: server end
| 2003-09-09 07:59:49:109 client: end decompression
| 2003-09-09 07:59:49:290 client: MyDataTable deserialization complete
| 2003-09-09 07:59:49:670 client: end
| 2003-09-09 07:59:57:892 **3rd if test**
| 2003-09-09 07:59:57:942 client: fetchnextchunk method start
| 2003-09-09 07:59:57:952 fetchnextchunk method: ws instance created
| 2003-09-09 07:59:58:032 server-main method: start fetch
| 2003-09-09 07:59:58:042 server-main method: dime attchment added
| 2003-09-09 07:59:58:062 fetchnextchunk method: ws-method called
| 2003-09-09 07:59:58:072 fetchnextchunk method: dime streamed
| 2003-09-09 07:59:58:102 client: end decompression
| 2003-09-09 07:59:58:283 client: MyDataTable deserialization completed
| 2003-09-09 07:59:58:303 client: fetchnextchunk method end
| 2003-09-09 07:59:58:353 **2nd if test**
| 2003-09-09 08:00:10:250 **3rd if test**
| 2003-09-09 08:00:10:270 client: fetchnextchunk method start
| 2003-09-09 08:00:10:290 fetchnextchunk method: ws instance created
| 2003-09-09 08:00:10:330 server-main method: start fetch
| 2003-09-09 08:00:10:340 server-main method: dime attchment added
| 2003-09-09 08:00:10:380 fetchnextchunk method: ws-method called
| 2003-09-09 08:00:10:390 fetchnextchunk method: dime streamed
| 2003-09-09 08:00:10:430 client: end decompression
| 2003-09-09 08:00:10:660 client: MyDataTable deserialization completed
| 2003-09-09 08:00:10:670 client: fetchnextchunk method end
| 2003-09-09 08:00:10:690 **2nd if test**
| 2003-09-09 08:00:17:961 **3rd if test**
| 2003-09-09 08:00:17:981 client: fetchnextchunk method start
| 2003-09-09 08:00:18:001 fetchnextchunk method: ws instance created
| 2003-09-09 08:00:18:041 server-main method: start fetch
| 2003-09-09 08:00:18:071 server-main method: dime attchment added
| 2003-09-09 08:00:18:101 fetchnextchunk method: ws-method called
| 2003-09-09 08:00:18:131 fetchnextchunk method: dime streamed
| 2003-09-09 08:00:18:151 client: end decompression
| 2003-09-09 08:00:18:392 client: MyDataTable deserialization completed
| 2003-09-09 08:00:18:402 client: fetchnextchunk method end
| 2003-09-09 08:00:18:422 **2nd if test**
| 2003-09-09 08:00:25:622 **3rd if test**
| 2003-09-09 08:00:25:642 client: fetchnextchunk method start
| 2003-09-09 08:00:25:662 fetchnextchunk method: ws instance created
| 2003-09-09 08:00:25:702 server-main method: start fetch
| 2003-09-09 08:00:25:712 server-main method: dime attchment added
| 2003-09-09 08:00:25:752 fetchnextchunk method: ws-method called
| 2003-09-09 08:00:25:762 fetchnextchunk method: dime streamed
| 2003-09-09 08:00:25:792 client: end decompression
| 2003-09-09 08:00:25:952 client: MyDataTable deserialization completed
| 2003-09-09 08:00:25:982 client: fetchnextchunk method end
| 2003-09-09 08:00:26:023 **2nd if test**
|
|
| 2)Trace for fast scrolling (ie drag vscroll down to bottom of datagrid
| quickly)...freezing
| 2003-09-09 07:37:46:468 client: start
| 2003-09-09 07:37:46:588 server-main method: start
| 2003-09-09 07:37:47:749 server-main method: datatable fill complete
| 2003-09-09 07:37:47:789 server-main method: more than 250 records found
| 2003-09-09 07:37:47:980 server-main method: return from
| CreateCompressedMyDataTable
| 2003-09-09 07:37:48:000 server-main method: dime attachment added
| 2003-09-09 07:37:48:130 client: server end
| 2003-09-09 07:37:48:250 client: end decompression
| 2003-09-09 07:37:48:601 client: MyDataTable deserialization complete
| 2003-09-09 07:37:49:011 client: end
| 2003-09-09 07:37:55:010 **3rd if test**
| 2003-09-09 07:37:55:100 **1st if test**
| 2003-09-09 07:37:55:100 main thread sleep
| 2003-09-09 07:37:55:110 client: fetchnextchunk method start
| 2003-09-09 07:37:55:140 fetchnextchunk method: ws instance created
| 2003-09-09 07:37:55:360 main thread sleep
| 2003-09-09 07:37:55:611 main thread sleep
| 2003-09-09 07:37:55:861 main thread sleep
| 2003-09-09 07:37:56:121 main thread sleep
| 2003-09-09 07:37:56:372 main thread sleep
| 2003-09-09 07:37:56:622 main thread sleep
| 2003-09-09 07:37:56:873 main thread sleep
| 2003-09-09 07:37:57:133 main thread sleep
| 2003-09-09 07:37:57:393 main thread sleep
| 2003-09-09 07:37:57:654 main thread sleep
| 2003-09-09 07:37:57:914 main thread sleep
| 2003-09-09 07:37:58:174 main thread sleep
| 2003-09-09 07:37:58:435 main thread sleep
| 2003-09-09 07:37:58:695 main thread sleep
| 2003-09-09 07:37:58:956 main thread sleep
| 2003-09-09 07:37:59:216 main thread sleep
| 2003-09-09 07:37:59:476 main thread sleep
| 2003-09-09 07:37:59:737 main thread sleep
| 2003-09-09 07:37:59:997 main thread sleep
| 2003-09-09 07:38:00:257 main thread sleep
| 2003-09-09 07:38:00:518 main thread sleep
| 2003-09-09 07:38:00:788 main thread sleep
| 2003-09-09 07:38:01:049 main thread sleep
| 2003-09-09 07:38:01:309 main thread sleep
| 2003-09-09 07:38:01:569 main thread sleep
| 2003-09-09 07:38:01:830 main thread sleep
| 2003-09-09 07:38:02:090 main thread sleep
| 2003-09-09 07:38:02:350 main thread sleep
| 2003-09-09 07:38:02:611 main thread sleep
| 2003-09-09 07:38:02:871 main thread sleep
| 2003-09-09 07:38:03:132 main thread sleep
| 2003-09-09 07:38:03:392 main thread sleep
| 2003-09-09 07:38:03:652 main thread sleep
| 2003-09-09 07:38:03:913 main thread sleep
| etc
|
|
|