0
に私は次のようにリスナーを開始:は、ActiveXは、WebSocketのサーバーの開発にAsyncCallback
private void StartAccept()
{
_listener.BeginAcceptTcpClient(new AsyncCallback(HandleAsyncConnection), null);
}
、複数の接続を受け入れることができるように非ブロックを有するため。
応答コールバック関数の一つが選択されたデフォルトのプリンタにHTMLページを印刷する必要があります
私はAsyncCallback内からのWebBrowserオブジェクトを作成しようとするので失敗しているWebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentText = "<html><body><p>I am HTML text!</p><body></html>";
webBrowser.Print();
:
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
ここでWebBrowserオブジェクトを作成するにはどうすればよいですか?次の答えに
の可能性のある重複した[シングルスレッドアパートメント - ActiveXコントロールをインスタンス化することはできません](http://stackoverflow.com/questions/1418466/single-threaded-apartment-cannot-instantiate-activex-control) –
または、専用のSTAスレッドと印刷用のキューを考慮すると、インスタンス化は1回だけ必要です。 –
ヒント..ありがとう..私はいくつかのリンクをたどった後、私は完璧に動作するこのソリューションで終わった:http://stackoverflow.com/questions/416314/print-html-document-from-windows-service-in-c-鮮明でない印刷ダイアログ –