title: Gecko MultiThreading Error
body: <p>I am trying to make an application with 5 virtual(hidden) Gecko(Xulrunner) Browser. But when I try to create one browser in Threading its return error at  GeckoPreferences I am totally confused with it!</p>
  
  <p>Here code Sample:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using DevExpress.XtraEditors;
  using Skybound.Gecko;
  using System.Threading;
  namespace Gekco_Test
  {
  public partial class Main : DevExpress.XtraEditors.XtraForm
  {
      public Main()
      {
          InitializeComponent();
          CheckForIllegalCrossThreadCalls = false;
      }
  
      private void Main_Load(object sender, EventArgs e)
      {
  
      }
  
      private void simpleButton1_Click(object sender, EventArgs e)
      {
          Thread th = new Thread(webControllerFunc);
          th.SetApartmentState(ApartmentState.STA);
          th.Start();
  
  
      }
      void webControllerFunc()
      {
          geckoWebControl gControll = new geckoWebControl();
          gControll.webBrowserAccess("91.213.108.178", 80);
      }
  
  }
  
  class geckoWebControl
  {
      bool readyState;
      GeckoWebBrowser wb = new GeckoWebBrowser();
      public string webBrowserAccess(string host,int port)
      {
          Skybound.Gecko.Xpcom.Initialize(Application.StartupPath + "\\xulrunner\\");
          readyState = false;
          Form form = new Form();
          GeckoPreferences.User["network.proxy.http"] = host;
          GeckoPreferences.User["network.proxy.http_port"] = port;
          GeckoPreferences.User["network.proxy.type"] = 1;
          wb.Navigate("about:blank");
          wb.DocumentCompleted += wb_DocumentCompleted;
  
          while (!readyState)
              Application.DoEvents();
  
          return wb.Document.TextContent;
      }
  
      void wb_DocumentCompleted(object sender, EventArgs e)
      {
          readyState = true;
      }
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Error:</p>
  
  <p>{"Unable to cast COM object of type 'System.__ComObject' to interface type 'Skybound.Gecko.nsIServiceManager'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{8BB35ED9-E332-462D-9155-4A002AB5C958}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE))."}</p>
  
  <p>Thanks!</p>