問題タブ [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 投票する
1 に答える
1792 参照

topshelf - TopShelfアプリをインストールしようとすると、Octopusデプロイがハングする

TopShelfを使用するサービスがあります。Octopusdeployを使用してサービスをインストールしたいのですが、動作させることができません。サービスを開始しようとすると触手がぶら下がっているようです。Deploy.ps1は次のようになります。

そのpowershellスクリプトをpowershellで実行することは問題なく機能しますが、触手は最後のステップでスタックします。ログを見ると、サービスが停止、アンインストール、インストールされていることがわかりますが、起動時にハングします。

何かお勧めはありますか?

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

topshelf - Topshelfインタラクティブサービスのインストールを自動化するにはどうすればよいですか?

特定のサービスアカウントで実行されるTopshelfサービスがいくつかあります。コマンドラインから手動でサービスをインストールする場合は、-interactiveフラグを使用でき、ダイアログボックスが表示され、ユーザー名とパスワードを入力できます。Powershellスクリプトを使用してこれを自動化できるようにしたいと思います。

誰かがこれを行う方法を知っていますか?(特にPowershellについては気にしませんが、インストールスクリプトでユーザー名とパスワードを指定するにはどうすればよいですか。)

Travisが述べたように、私はコマンドラインオプションを調べました。ほとんど私のために働いていますが、今私は1つのエスケープの問題があります。インストールするには、たとえばMyService.exe install -username:Foo -password:Barと入力します。

ただし、ユーザー名オプションにはドメインとユーザー名の両方を指定する必要があります(これは--interactiveルートを実行することでわかります):MyService.exe install -username:mydomain \ $ myusername -password:Bar

私はこれを逃れる方法を見つけることができません!申し訳ありませんが、私の質問は別の質問に変わりました。回答済みのマークを付けて、別の質問を開く必要があるかもしれません。

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

c# - TopShelf を使用した監視されないタスクの例外処理

私はうまく機能しているTopShelfフレームワークを使用しています。ただし、監視されていないタスクの例外 (つまり、TaskScheduler.UnobservedTaskException をサブスクライブする) のトップレベルの例外フィルターを登録する方法を理解するのに非常に苦労しています。

このイベントに登録するためにさまざまな場所を試しましたが、何があっても、待機していないタスクから例外をスローしたときに通知を受け取ることはありません。

TopShelf を使用しているときにこれらの通知を正しく受け取るにはどうすればよいですか。

ありがとう。

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

c# - 「サービスが制御機能に応答していません」? IoCを使用する場合

私はCastle WindsorをIoCとして、TopShelfをサービスとして実行しています。コンソールアプリとして実行している場合、問題なく動作します。インストールしてサービスとして実行すると、しばらくすると「サービスが制御機能に応答していません」と表示されます。Windows 8/Windows Server 2012 のみ。Windows 7 でも問題なく動作します。

BuilContainer()を削除すると、すべてのプラットフォームで問題なく動作します。

また、BuildContainer の前に "a0" を記録し、その後に "a1" を記録するようにロガーを作成しました。「a0」はログに記録されますが、「a1」はサービスとして実行されている場合はログに記録されません。

このアプローチは、私を含む多くの人が使用しており、Windows 7 では機能しますが、Windows 8/Windows Server 2012 では機能しません。

なにが問題ですか ?

ありがとう、ペイマン

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

castle-windsor - IoC を使用した IServiceBus の解決

メッセージ キューイング (RabbitMQ を使用) に MassTransit を使用し、IoC として Castle Windsor を使用し、アプリを Windows サービスとして実行するために Topshelf を使用しています。

しかし、私はこの問題に遭遇しました。これは私にとって非常に奇妙です。

これは私のコードです

サービスがあります

ここに私のメインコードがあります(トップシェルフのセットアップはどこですか)

このコードはデバッグ時にのみ機能しますが、サービスとして実行すると、制御機能に応答しなかったと Windows が言うまで例外なくサービス バスの解決で停止します。1 回目は機能し、2 回目は機能せず、3 回目は機能することに注意してください。

理由はわかりませんが、IoC の外部で IServiceBus を作成すると、うまく機能します。

ありがとう

ペイマン

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

windows-services - 自動サービスが開始されない

topshelf の下で実行されるサービスとしてインストールされたコンソール アプリがいくつかあります。手動でインストールして実行すると、正常に動作します。ただし、スタートアップの種類が自動に設定されていても、自動的に起動するものはありません。

アプリは次のように構成されます。

アプリは Win 2008 R2 で実行され、管理者として実行されるバッチ ファイルを使用してインストールされます。バッチ ファイルには次のものが含まれます。

バッチ ファイルを実行した後、サービスは期待どおりに実行されます。ただし、再起動しても停止したままです。

イベント ログは、サービスごとに同じイベントのペアを返します。

イベント 7000: 次のエラーのため、サービスを開始できませんでした: サービスは開始要求または制御要求にタイムリーに応答しませんでした。

イベント 7009: サービスの接続を待機中にタイムアウト (30000 ミリ秒) に達しました。

再起動後にアプリを起動する唯一の方法はapp.exe start、昇格したコマンド プロンプトから実行することです。

何か案は?

0 投票する
4 に答える
68984 参照

.net - Topshelf アプリケーションを Windows サービスとしてインストールする

Visual Studio Express 2012 を使用して、Topshelf (バージョン 3.1.107.0) を使用してコンソール アプリケーションを作成しました。アプリケーションはコンソール アプリケーションとして動作しますが、サービスとしてインストールする方法がわかりません。Visual Studio 内からプロジェクトを発行し (ビルド、発行)、コマンド プロンプトを管理者として起動し、アプリケーションが発行されたフォルダーに移動して、コマンド プロンプトから setup.exe -install を実行しました。アプリケーションはインストールされて実行されますが、Windows サービスではなく、コンソール アプリケーションとして実行されます。ここで何が欠けていますか?

Topshelf に慣れていない方のために説明すると、これは .Net 用の Windows サービス フレームワークであり、上記のシナリオ (コンソール アプリケーションとして開発およびデバッグし、Windows サービスとして展開する) を容易にするはずです。http://docs.topshelf-project.com/en/latest/index.htmlのドキュメントを参照してください。

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

windows - Topshelf でインストールした後、サービスの下に自分のサービスが表示されない

答えはとてもシンプルだと確信していますが、ここにあります。

TopShelf を使用してサービスをインストールしていますが、コマンド ラインから正常にインストールして実行できます。

MyExecutable.Daemon インストール MyExecutable.Daemon 開始

これは問題ありませんが、サービス内にある必要があり、そうではなかったので試してみました。

しかし得た

だから私はここで立ち往生しています。ここで何が欠けていますか?