DllImport and WebMethod and STAThread

Ask a Question related to ASP.NET Web Services, Design and Development.

  1. #1

    Default DllImport and WebMethod and STAThread

    I'm trying to use a 3rd party DLL, which I have no control over, in my
    WebService (written in C#). However, every time my WebService tries to
    call one of the dllimport-ed methods it simply never returns from the
    call. I know the DLL is there and it works well in many console and
    windows applications I have done.

    I have been able to create a console application that fails in the
    same way, at least I think it does!?!? It fails if I take the
    [STAThread] from the main method. Then I get a message dialog saying
    "The operating system cannot load the DLL module. Please check that
    the DLL module exists, and that any other DLL modules that it will use
    also exist." The DLL is there and it works if I put the [STAThread]
    back on the main method.

    How do I make part of my WebService use the STAThread model instead of
    the multi-threaded model? I realize I don't want to do this all over,
    just partially?!?!

    I have seen some discussions about using dllimport and WebServices
    together but nothing that can help me. All your help is highly
    appreciated.

    Looking forward to hearing from you.

    Thanks.
    Alfred B. Thordarson Guest

  2. Similar Questions and Discussions

    1. dllimport and web services
      I have an C#/ASP.Net 1.1 Web Service that has an exposed Web Method that uses an unmanaged DLL via the DllImport Attribute. Is one copy of the DLL...
    2. DllImport to unmanaged
      Hello NG From a Web Project (C#, XP-box) I want to call unmanaged code : so private static extern int FirstFunc(); BUT when I in my...
    3. DllImport Error
      Hello friends, I need to load an unmanaged dll(which i wrote for license control) from system32 folder and then my asp. net project will read the...
    4. dllimport call in aspnet application makes the application hangs
      As our application design requires us to use one of the validation API engine which was written on C(so basically all I have is a dll) and I tested...
    5. cant add another webmethod :(
      Hello I have this code: <%@ WebService language="VB" class="TCPUtil" %> Imports System Imports System.Web.Services Imports...
  3. #2

    Default Re: DllImport and WebMethod and STAThread

    I was able to call the dllimport-ed methods, in a webservice, by
    creating a new thread, changing it's ApartmentState into STA, and then
    have it run my dllimport-ed methods. This is a major hassle if I have
    many different methods with different parameters. Is there really no
    other way to do this?

    --snippet:
    Thread staThread=new Thread(new
    ThreadStart(newHandler.STAAppendRecordsetXml));
    staThread.ApartmentState=ApartmentState.STA;
    staThread.Start();

    There must be a better way?

    -Alfred

    [email]athordarson@landsteinar.je[/email] (Alfred B. Thordarson) wrote in message news:<79fc7025.0312011153.63456edd@posting.google. com>...
    > I'm trying to use a 3rd party DLL, which I have no control over, in my
    > WebService (written in C#). However, every time my WebService tries to
    > call one of the dllimport-ed methods it simply never returns from the
    > call. I know the DLL is there and it works well in many console and
    > windows applications I have done.
    >
    > I have been able to create a console application that fails in the
    > same way, at least I think it does!?!? It fails if I take the
    > [STAThread] from the main method. Then I get a message dialog saying
    > "The operating system cannot load the DLL module. Please check that
    > the DLL module exists, and that any other DLL modules that it will use
    > also exist." The DLL is there and it works if I put the [STAThread]
    > back on the main method.
    >
    > How do I make part of my WebService use the STAThread model instead of
    > the multi-threaded model? I realize I don't want to do this all over,
    > just partially?!?!
    >
    > I have seen some discussions about using dllimport and WebServices
    > together but nothing that can help me. All your help is highly
    > appreciated.
    >
    > Looking forward to hearing from you.
    >
    > Thanks.
    Alfred B. Thordarson Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139