Linq OrderBy behavior

Hello

While IpSuperHttpClientChannel doesn’t call the WM_PAINT message by itself, it uses a WaitHandle.WaitOne call while sending a database request message to the server.

However depending on application settings Windows messages are still processing during the WaitOne call. This triggers the DevEx grid thread safety watchdog (it thinks that something tries to repaint it during the data request call).

The solution that worked for me in your testcase was to change

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()

to

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [MTAThread]
    static void Main()

You can read more about different apartments models in Apartments and Pumping in the CLR | Microsoft Learn

If for some reason you cannot change model from STA to MTA then the only resolution would be to try to use a different client channel type, namely IpHttpClientChannel. Note that in this case you will NOT need to do any changes to the server except of setting the ServePlainHttpRequests property of the server channel to true. This property will allow the SuperHttp server channel to serve both SuperHttp and plain Http request protocols

Regards