問題タブ [topshelf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3693 参照

nservicebus - NServiceBusにサービスとして汎用ホストをインストールする場合、有効な資格情報を提供するにはどうすればよいですか?

次のディレクトリに.batファイルを作成するとします。

\ trunk \ Samples \ PubSub \

ユーザー名とパスワードの入力を求められますが、自分の資格情報を使用すると、次のような例外が発生します。

インストールフェーズ中に例外が発生しました。System.ComponentModel.Win32Exception:アカウント名が無効であるか、存在しないか、指定されたアカウント名のパスワードが無効です

  1. これを機能させるためにどのクレデンシャルを渡すことができますか?

  2. クレデンシャルをNServiceBus.Host.exeへのコマンドライン引数として構成したり、「ローカルシステムアカウント」として実行したりできますか?

ノート:

これまでの私の調査によると、(2)はTopShelfがIInstallationConfigurationを介してサポートするものである可能性があります

これは、MSMQがすでにインストールされているVistaマシンで実行しています。

サブスクライバーインスタンスをコンソールアプリとして実行した場合(つまり、次のように)、PubSubサンプルは期待どおりに実行されます。

0 投票する
2 に答える
5161 参照

log4net - NServiceBus汎用ホストのログを有効にするにはどうすればよいですか

タイトルを長くしすぎたくありませんでしたが、この質問は特に、ローカルシステム(Vistaマシン上)として実行するように構成されたWindowsサービス(TopShelfのおかげで)としてNServiceBus汎用ホストを実行することについて言及しています。

前の質問で、PubSubサンプルをWindowsサービスとして実行するように調整して、サービスを簡単に停止および開始して、NServiceBusが想定どおりに動作していることを完全に証明できるようにした理由を説明します。

何らかの理由で、Log4Netにディスクに何かを記録させることができないので、これはLog4Net(初心者)構成の問題である可能性がありますか?

以下は、ある種のトレースを実行するためのブルートフォース攻撃です。これまでに取得したのは、次のように記述されたファイルだけです。

C:\ logs \ <-GUID-> log4net.log

0 投票する
3 に答える
2127 参照

debugging - 制限付きアカウントで実行されない Topshelf サービスのデバッグ

Topshelfを使用して記述された Windows サービスがあります。LocalSystem を使用するのではなく、権限が制限された Windows アカウントを使用して実行するように構成しようとしています。統合認証を使用してデータベースに接続したいので、これも必要です。

このサービスは、LocalSystem として実行された場合 (ただし、資格情報を含むデータベース接続文字列を使用) に機能し、コンソール アプリケーションを制限付きアカウントとして (runas を使用して) 実行した場合にも機能します。

ただし、サービスを開始しようとすると、サービス コントロール マネージャーが応答を待ってタイムアウトします。

サービスは開始要求または制御要求にタイムリーに応答しませんでした。

また、アプリケーション ポップアップ イベント ログに次の情報が記録されます。

アプリケーション エラー : 場所 0x77e4bef7 のアプリケーションで、不明なソフトウェア例外 (0xc06d007e) が発生しました。

アプリケーションが最初に行うことは、ログ ファイルへの書き込みですが、サービスを開始すると、ログ ファイルに到達しません。コンソール経由で実行すると、ロギングが機能します。

不足している可能性のあるものや、次に試す可能性のある提案はありますか?

0 投票する
3 に答える
1531 参照

nservicebus - NServiceBus.Host.exeでコードが実行されないのはなぜですか?

NServiceBusサービスを構築していますが、(Visual Studioを介したデバッグまたはコマンドラインから)NServiceBus.Host.exeを起動すると、実行中のDLLがAppDataフォルダーに再配置されているように見えます。

アプリケーションは、bin \ debugフォルダー(DLLを含むpluginsフォルダーなど)に存在するリソースに依存していますが、これらのリソースは一時フォルダーにコピーされていません。

私の環境はWindows7x64であり、動作を変更せずに、管理者としてVisualStudioとコマンドプロンプトの両方を実行しようとしました。

編集

この動作はTopshelf内で発生しているようです。エンドポイントのコンストラクターの最後にブレークポイントを指定してデバッグすると、エンドポイントがProgram.csのMainメソッドで構築されたときに最初に停止します。この時点での環境は次のとおりです。

ただし、コンストラクターが再度呼び出されると、今回はGenericHostコンストラクターから、これが環境になります。

dllの移動が行われている場所を正確に確認するために、TopShelfコードをデバッグしてデバッグしていません。しかし、これは間違いなくNServiceBus.Host.Exe内で行われています。

0 投票する
1 に答える
4023 参照

.net - ServiceAccount.NetworkServiceとしてサービスを実行するようにTopShelfを構成するにはどうすればよいですか?

ServiceAccount.NetworkServiceとしてサービスを実行するようにTopShelfを構成するにはどうすればよいですか?

https://github.com/Topshelf/Topshelf

0 投票する
1 に答える
409 参照

c# - TopShelf - ConfigureServiceInIsolation と ConfigureService の違い

誰かがこのトップシェルフ プロジェクトを理解するのを手伝ってくれませんか...主に ConfigureServiceinIsolation と ConfigureService の違いです。

http://topshelf-project.com/documentation/getting-started/

誰かがそれに関する適切なドキュメントを教えてくれたらいいのにと思います。

ありがとう

0 投票する
2 に答える
1440 参照

c# - トップシェルフの例外

topshelfを使用していますが、「-i」オプションを使用してサービスとしてインストールしようとすると、この例外が発生します。

タイプ 'Magnum.CommandLineParser.SwitchElement' のオブジェクトをタイプ 'Magnum.CommandLineParser.IArgumentElement' にキャストできません。

この関数で例外が発生しました

0 投票する
1 に答える
1643 参照

c# - ConfigureServiceInIsolation を使用した Topshelf サービスの実行 - 汎用ホスト

アセンブリを Windows サービス (ala NServiceBus) としてホストできるようにする非常に単純な汎用ホスト ソリューションを開発しています。次の例外に出くわしています (Dru のブログ投稿で言及されているコメントと同様)。さまざまな AppDomains でサービスをホストできるように、これが機能する必要があります。

「アセンブリ 'MyProject.WindowsServices.GenericHost.Program+<>c__DisplayClass5' と入力 'MyProject.WindowsServices.GenericHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' はシリアル化可能としてマークされていません。」

私は、topshelf ホームページ (topshelf-project.com) のダウンロード リンクから入手できる Topshelf 1.0 RC バイナリを使用しています。最新のビルド (2010 年 7 月 29 日) を試してみました。ビルドは Google コードと github からダウンロードできます。私はそれらのどれも私のために働かせることができません!

これは、古いバージョンの Topshelf (dll のバージョンは 0.8.0.96) の NServiceBus ライブラリで機能しています。以下に示すコードに若干の変更を加えることで (HowToBuildService の代わりに CreateServiceLocator を使用)、これらの古いバイナリでも機能しますが、計画されている修正や機能強化を利用するために、最新のコードに固執したいと思います。

これが私のコードです。

また、GenericHost クラスと、arguments.ServiceType で識別されるクラスは両方とも MarshalByRefObject を実装しており、これらのクラスを Serializable にして、それが役立つかどうかを確認していることにも注意してください。問題を引き起こしているのはこれらのクラスではありませんが、構成したラムダの 1 つ以上に対して C# コンパイラによって生成された匿名型について不平を言っているようです。

ConfigureServiceInIsolation() を使用してこの問題が発生している人はいますか? そうでない場合、ここで何が欠けているか知っている人はいますか? スタック トレースやその他のコードなど、さらに情報が必要な場合はお知らせください。

0 投票する
1 に答える
2417 参照

c# - VS2010 での Topshelf ホスティング アプリケーションのデバッグ

Topshelf ホスティング アプリケーション Topshelf.Host.exe を使用して、.NET クラス ライブラリを Windows サービスとして実行しようとしています。http://topshelf-project.com/documentation/shelving/

VS2010 内でデバッガーを接続するのに問題があります。ここに私がセットアップしたものがあります

  • たとえば、c:\projects の Topshelf.Host.exe
  • c:\projects\Services\library-name\ へのクラスライブラリ サービスのビルド
  • デバッグするクラス ライブラリの外部アプリケーションとして Topshelf.Host.exe を実行する

F5/run を使用すると、Topshelf.Host.exe が実行されていますが、クラス ライブラリを取得してロードしていないようです。デバッグを設定するためのアイデアやより良い方法はありますか?

0 投票する
1 に答える
2825 参照

c# - TopshelfでホストされているWCFサービスは、シャットダウンに長い時間がかかります

Topshelfを使用してWCFサービスをWindowsサービスとしてホストしています。コンソールで実行している場合でも、Ctrl-Cを送信してからシャットダウンするまでに非常に長い時間がかかります。これは、サービスとして実行している場合に反映されます。私のローカルマシンでは、svcHost.Close(new TimeSpan(0))を呼び出すのに1ミリ秒かかりますが、Topshelfが呼び出すStopメソッドの終了からコードがRunner.Host()メソッドから外れるまでの間に10240ミリ秒かかります。これは素晴らしいことではありませんが、私が試した実稼働サーバーでは、2番目の値は70年代です。これは、サービスがジャンクであると判断する前に、Windowsがサービスを提供する30秒以上の方法です。

これが私のTopshelfコードとサービスコードです。例外が発生していないことを確認したため、Log4Netロギングと例外処理の両方を大幅に削除しました。

10秒強と70秒強は「デフォルト」になりすぎるように思われるので、タイムアウトをできるだけ低く設定するために高低を検索しましたが、どれもうまくいかないようです。これが私のapp.configコードです。

では、WCFをより速くシャットダウンするために何ができるでしょうか。