web-dev-qa-db-ja.com

WindowsサービスからAzureへ?

私はC#でWindowsサービスを作成しました。このサービスは、データベース上でバックグラウンド管理タスク全体を実行します。今、私の顧客は、Shebang全体をAzureに移行したいと考えています。私はAzureについてほとんど何も知らず、私の顧客はAzureでWindowsサービスを実行できないと言っています。私はこのトピックをグーグルで調べ、WindowsサービスをAzureに移行するために誰かが何をしたかについていくつかの非常に具体的なケーススタディを出しました。サービスは、Azureで実行することも、それらを適応させるために何をすることもできます。

最初の質問(AzureでWindowsサービスを実行できますか?)に対する明確な答えと説明を本当に見たいです。答えがいいえの場合、変換のためのステップバイステップガイドを見つけたいです。 Azure対応のWindowsサービス。

ありがとう!

39
Shaul Behr
24
Yahia

Windowsサービスを含め、何でも実行できます。

ただし、 WorkerRole に変換する方が幸せになると思いますが、これは非常に簡単です。

6
smarx

小規模なジョブには、Webアプリ内で実行されるAzureのWebJob機能を使用できます(フロントエンドサイトが管理している同じデータでバックグラウンドタスクを実行する場合に便利です)。

ここには素敵な内訳があります: https://Azure.Microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/

WebJobsは簡単に実行できますが、Worker Rolesの力はありません。比較については、以下を参照してください。 ワーカーロールとWebジョブ

2
Savage

これにはWebジョブを使用します。スケジューリング機能であり、簡単な展開/構成により、これは簡単なタスクになります。 .exeを圧縮してアップロードし、スケジュールを設定して完了です。

0
Phil

Windows Server 2012 R2でVMを実行しているWindows AzureにWindowsサービスをインストールする手順は次のとおりです。

  • windows AzureコンソールでVMを起動し、リモートデスクトップコネクタで接続します
  • ストレージをVMの新しいドライブとしてマップします。

    Net Use z:\ mystorage.file.core.windows.net\endoint/u:myusername verylongkeythatendswith ==

ストレージキーは、Azure管理コンソール->ストレージ->アクセスキーの管理にあります。

  • 必要なすべてのインストールファイルをマッピングされたストレージにコピーします(コピーと貼り付け)
  • nssmをローカルドライブにコピーします(zではなく、MAFSファイルシステムを使用し、低レベルのWindows APIコマンドではアクセスできないため)
  • 次のエントリで.batファイルを作成します

set username = xxx set password = yyy call d:\ nssm install "My service" "%programfiles%\ PathToService\myservice.exe" "-p 8677" d:\ nssm set "My service" ObjectName "%username%" " %password% "sc failure" My service "actions = restart/60000/restart/60000/restart/60000 reset = 240 d:\ nssm start" My service "

ユーザー名とパスワードは、VMの作成に使用したものでなければなりません。

  • スクリプトを実行します。サービスはサービスリストに表示されるはずです。

楽しい!

PS:サービス展開を簡略化するために [〜#〜] nssm [〜#〜] を使用しました。

0
luksmir

はい、問題ありません。もう1つ素敵でわかりやすい例があります Azureクラウドサービスの開始 。また、WorkerRoleの実装方法も明確に示しています。 WebRoleを使用して、サービスを管理できます。

0
Gerard