Windows Azure は Windows サービスをサポートしていますか?, ...
私は、1 時間ごとに情報を電子メールで送信する Windows サービスをコンポーネントに含むアプリケーションを開発しています。
これは Windows Azure でサポートされていますか?,
ありがとう!!
Windows Azure は Windows サービスをサポートしていますか?, ...
私は、1 時間ごとに情報を電子メールで送信する Windows サービスをコンポーネントに含むアプリケーションを開発しています。
これは Windows Azure でサポートされていますか?,
ありがとう!!
worker ロールは、1 時間ごとにプロセスを実行するのに適している場合があります。WINdows サービスのコードがあれば、それをワーカー ロールに実装するのは難しくありません。
ただし、Azure ではサポートされていないため、サード パーティのサービスを使用してメールを送信する必要があります。
よろしく、
アラン
はい、できます*。Windows サービスを PaaS ワーカー ロール (または Web ロール) にインストールするには、起動時にサービスをインストールする (そして、その後の起動時に既にインストールされているかどうかを確認する) スタートアップ スクリプトを作成する必要があります。
IaaS VM を使用している場合、インストールは簡単です。今日と同じように行ってください。
※Windows Azure Websitesは共有モデルのため、サービスのインストールはサポートしておりません。
Alan と Yossi の回答にさらに追加したいと思います。Windows サービスをインストールするだけでは問題にならないため、その理由を知ることが重要です。
しかし、これを行うと、非常に重要な何かを見逃すことになります。すべてのコードを実際の Worker ロール プロセスで実行すると、無料で監視できます。これは、何らかの理由でプロセスがクラッシュした場合、Windows Azure がインスタンスを再起動して、プロセスがオンラインに戻ることを確認することを意味します。
スタートアップ スクリプトを使用して Windows サービスをインストールするだけでは、この自動監視を利用することはできません。なんらかの回復手段があることを確認する必要があります (これは、Windows サービスの設定または別のプロセスである可能性があります)。しかし、無料で入手できるものには、あまりにも多くの作業が必要です。
既に提供されている Windows テンプレートを使用して極小 VM を使用することをお勧めします。これは worker ロールと同じコストであり、問題なくサービスをプロビジョニングできます。オンプレミス サーバーと同じようにサービスをインストールします。
Web ロールと同じ種類のフェールオーバー シナリオが必要ない場合は、これが適切なオプションです。
アラン・スミスとダンリーの両方の答えを組み合わせると、どちらも正しいです -
起動スクリプト (Web サイト以外) を使用して、PaaS ロールに Windows サービスをインストールできます。仮想マシンを使用している場合は、VM にサービスをインストールするだけです
しかし、ほとんどの場合、コードを worker ロールに移行するのが最善の方法であるという Alan の意見は完全に正しいものです。
とはいえ、Azure 内からメールを送信することは必ずしも良い考えではありません。多くのメール サーバーが IP をブラック リストに登録しているからです (Azure はスパマーにとって優れたプラットフォームであることがわかります)。