私はホストされたサービスでワーカーの役割を持っています。 労働者は、毎日電子メールを送信しています。 しかし、ホステッドサービスでは、2つの環境、ステージングとプロダクションがあります。 私のワーカーの役割は毎日2回電子メールを送信します。 私は、労働者が停滞しているか生産中であるかを検出する方法を知りたいと思います。 ありがとうございます。環境がAzureでホストされているサービスワーカーロールでステージングまたはプロダクションであるかどうかを検出する方法はありますか。
6
A
答えて
1
私の質問hereによれば、速いの方法がないことがわかります。また、実際にあなたが何をしているのかわからない限り、私は強くお勧めしますこれを行わないでください。
あなたは私たちはいくつかのtrouble with WCF using it.
はここで(ノートでそれを行う方法について簡単にサンプルがあります持っていなかったが、あなたは本当に素晴らしいライブラリ(Azure Service Management via C#)を使用することができますしたい場合は、あなたが管理証明書を含める必要があなたのコード内のリソースとして&)はアズールに展開:
private static bool IsStaging()
{
try
{
if (!CloudEnvironment.IsAvailable)
return false;
const string certName = "AzureManagement.pfx";
const string password = "Pa$$w0rd";
// load certificate
var manifestResourceStream = typeof(ProjectContext).Assembly.GetManifestResourceStream(certName);
if (manifestResourceStream == null)
{
// should we panic?
return true;
}
var bytes = new byte[manifestResourceStream.Length];
manifestResourceStream.Read(bytes, 0, bytes.Length);
var cert = new X509Certificate2(bytes, password);
var serviceManagementChannel = Microsoft.Toolkit.WindowsAzure.ServiceManagement.ServiceManagementHelper.
CreateServiceManagementChannel("WindowsAzureServiceManagement", cert);
using (new OperationContextScope((IContextChannel)serviceManagementChannel))
{
var hostedServices =
serviceManagementChannel.ListHostedServices(WellKnownConfiguration.General.SubscriptionId);
// because we don't know the name of the hosted service, we'll do something really wasteful
// and iterate
foreach (var hostedService in hostedServices)
{
var ad =
serviceManagementChannel.GetHostedServiceWithDetails(
WellKnownConfiguration.General.SubscriptionId,
hostedService.ServiceName, true);
var deployment =
ad.Deployments.Where(
x => x.PrivateID == Zebra.Framework.Azure.CloudEnvironment.CurrentRoleInstanceId).
FirstOrDefault
();
if (deployment != null)
{
return deployment.DeploymentSlot.ToLower().Equals("staging");
}
}
}
return false;
}
catch (Exception e)
{
// if something went wrong, let's not panic
TraceManager.AzureFrameworkTraceSource.TraceData(System.Diagnostics.TraceEventType.Error, "Exception", e);
return false;
}
}
0
SQL Serverを使用している場合(いずれかのAzure SQLまたはVMでホストされているSQL Serverの)、あなたは仕事をしてからステージングWorkerロールを停止することができプロダクションインスタンスのパブリックIPにデータベースサーバへのアクセスのみを許可します。
関連する問題
- 1. .NETアプリケーションがAzure環境または非Azure環境で動作しているかどうかを検出
- 2. Azure検索サービスのパフォーマンスは、プロダクション環境とステージング環境によって異なります
- 3. 端末でキーが押されたかどうかを検出する方法はありますか?
- 4. は、Facebookの環境にあるかどうかを検出します。
- 5. フラグメントがユーザーに表示されているかどうかを検出する方法はありますか?
- 6. iOSデバイスがリダイレクトされているかどうかだけを検出する方法はありますか?
- 7. オブジェクトがロックされているかどうかを検出する方法はありますか?
- 8. ブラウザのキャッシュがクリアされているかどうかを検出する方法はありますか
- 9. 通知バーがクリアされているかどうかを検出する方法はありますか?
- 10. SQLCMD.exeがインストールされているかどうかを検出する適切な方法はありますか?
- 11. ソフトキーボードがAndroidで開いているかどうかを検出する方法はありますか?
- 12. パラメータグリッドでどの値が許容されているかを検出する方法はありますか? (sklearn)
- 13. ホストがVMであるかどうかを検出できますか?
- 14. 環境が仮想ホストであるかどうかを区別する方法は?
- 15. ドライブがSSDであるかどうかを検出する方法はありますか?
- 16. AngularJsフォームのオブジェクト$ errorが空であるかどうかを検出する方法はありますか?
- 17. Javascriptで属性が設定されているかどうかを検出するイベントはありますか?
- 18. ステージングとプロダクションenv in code pushの違いはありますか?
- 19. 指定されたファイルがFASTAであるかどうかを確認する方法はありますか?
- 20. ウェブAPIが更新されたかどうかを検出する方法はありますか?
- 21. ホストされたソリューションでWCFサービスをデバッグする方法はありますか?
- 22. 単一のステージングされたファイルをコミットする方法はありますか?
- 23. Angular2 +またはJavaScriptを使用してアプリケーションの環境を検出する信頼できる検出方法はありますか?
- 24. NPLogonNotifyでリモートデスクトップセッションイベントを検出する方法はありますか?
- 25. ウェブプログラミングでマウスホイールハードウェアを検出する方法はありますか?
- 26. ファイルがPHPでファビコンであるかどうかを検出する方法は?
- 27. モーションイベントジェスチャーが画面の左側または右側で実行されているかどうかを検出する方法はありますか?
- 28. SignalRハブを使用したAzureステージング/プロダクション環境のスワッピング
- 29. プロダクション環境でXcodeが "位置シミュレーション"を防止または検出する方法は? [大きな問題]
- 30. アプリケーションがクロームデバッグモードで実行されていることをプログラムで検出する方法はありますか?
こちらをご覧ください:http://stackoverflow.com/questions/4328462/staging-or-production-instance – Igorek