2012-04-04 6 views
1

Gloabal.asax.csで静的な文字列 "drivePath"を宣言しました。 webroleのOnstartイベントでは、私はそれに価値を割り当てています。 Webページでこの値にアクセスしていますが、変数が宣言されたかのように表示されます。私はWebRole.drivePathに値を代入していますGlobal.asaxで宣言され、webroleのonstartイベントで初期化された静的変数の値を失う

public override bool OnStart() 
{ 
    MountAzureDrive(); 
    Global.drivePath = WebRole.drivePath; 
    return base.OnStart(); 
} 

public static string drivePath = string.Empty; 

WebRole.cs

Global.asax.csを次のように私は私のコードのために取得した値です"MountAzureDrive()"関数。いくつかの機能では、Webページ上のWebページ

私は「Global.drivePath」としてdrivePathにアクセスしていると私はString.Emptyのよう値を取得しています。

私の質問はなぜドライブパスの値を保存していないのですか?私がdrivepathの価値を保存してそれを得るにはどうしたらいいですか?

助けてください

ありがとうございます。

答えて

1

OnStart(役割)はあなたのウェブページ(ページ、Global.asax ..のページ)とは別のプロセスです。少なくともFull IIS modeを使用している場合。

+0

それでは、どのように私はのOnStartイベントでドライブをマウントした後drivePathを取得しなければなら? OnstartイベントでdrivePathに値を割り当てているので、Webアプリケーションのライフタイムを通じてアクセスすることができます。私のすべての操作は同じdrivePathで実行されます。 – Dhananjay

+0

Global.asaxからhttp://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.clouddrive.getmounteddrives.aspxを呼び出してみましたか?または、複数のドライブがあり、どちらを知る必要がありますか? –

+0

WebRoleのOnstartではなく、Global.asaxのApplication_StartでMountAzureDrive()関数を呼び出さなければならないということですか? – Dhananjay

2

WebRoleで実行されているコードは、Webアプリケーション(Global.asax.cs)と同じプロセスではありません。

  1. WebRole:
  2. WebRoleをドライブをマウントします。環境変数からドライブ文字を読む:環境変数
  3. Global.asax.csとしてドライブ文字を保存あなたはどうする可能性は次のようです。
  4. ...

enter image description here

詳細については、この記事に従ってください:http://www.codeproject.com/Articles/81413/Windows-Azure-Drives-Part-1-Configure-and-Mounting

Sandrino

関連する問題