私はC#でWindowsサービスを作成しました。このサービスは、データベース上でバックグラウンド管理タスク全体を実行します。今、私の顧客は、Shebang全体をAzureに移行したいと考えています。私はAzureについてほとんど何も知らず、私の顧客はAzureでWindowsサービスを実行できないと言っています。私はこのトピックをグーグルで調べ、WindowsサービスをAzureに移行するために誰かが何をしたかについていくつかの非常に具体的なケーススタディを出しました。サービスは、Azureで実行することも、それらを適応させるために何をすることもできます。
最初の質問(AzureでWindowsサービスを実行できますか?)に対する明確な答えと説明を本当に見たいです。答えがいいえの場合、変換のためのステップバイステップガイドを見つけたいです。 Azure対応のWindowsサービス。
ありがとう!
Windowsサービスを含め、何でも実行できます。
ただし、 WorkerRole に変換する方が幸せになると思いますが、これは非常に簡単です。
小規模なジョブには、Webアプリ内で実行されるAzureのWebJob機能を使用できます(フロントエンドサイトが管理している同じデータでバックグラウンドタスクを実行する場合に便利です)。
ここには素敵な内訳があります: https://Azure.Microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/
WebJobsは簡単に実行できますが、Worker Rolesの力はありません。比較については、以下を参照してください。 ワーカーロールとWebジョブ
これにはWebジョブを使用します。スケジューリング機能であり、簡単な展開/構成により、これは簡単なタスクになります。 .exeを圧縮してアップロードし、スケジュールを設定して完了です。
Windows Server 2012 R2でVMを実行しているWindows AzureにWindowsサービスをインストールする手順は次のとおりです。
ストレージをVMの新しいドライブとしてマップします。
Net Use z:\ mystorage.file.core.windows.net\endoint/u:myusername verylongkeythatendswith ==
ストレージキーは、Azure管理コンソール->ストレージ->アクセスキーの管理にあります。
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 [〜#〜] を使用しました。
はい、問題ありません。もう1つ素敵でわかりやすい例があります Azureクラウドサービスの開始 。また、WorkerRoleの実装方法も明確に示しています。 WebRoleを使用して、サービスを管理できます。