Udostępnij za pośrednictwem


IsolatedStorageFile.GetMachineStoreForDomain Metoda

Definicja

Uzyskuje izolowany magazyn o zakresie maszyn odpowiadający tożsamości domeny aplikacji i tożsamości zestawu.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetMachineStoreForDomain();
public static System.IO.IsolatedStorage.IsolatedStorageFile GetMachineStoreForDomain ();
static member GetMachineStoreForDomain : unit -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetMachineStoreForDomain () As IsolatedStorageFile

Zwraca

Obiekt odpowiadający obiektowi IsolatedStorageScope, na podstawie kombinacji tożsamości domeny aplikacji i tożsamości zestawu.

Wyjątki

Nie udzielono wystarczających izolowanych uprawnień magazynu.

Nie można otworzyć magazynu.

-lub-

Określony zestaw ma niewystarczające uprawnienia do tworzenia izolowanych magazynów.

-lub-

Nie można określić uprawnień do domeny aplikacji.

-lub-

Nie można zainicjować izolowanej lokalizacji magazynu.

Przykłady

Poniższy przykład kodu przedstawia metodę GetUserStoreForDomain . Pełny kontekst tego przykładu IsolatedStorageFile zawiera omówienie.

IsolatedStorageFile^ isoFile;
isoFile = IsolatedStorageFile::GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream^ isoStream = gcnew IsolatedStorageFileStream( this->userName,FileMode::OpenOrCreate,FileAccess::Write,isoFile );
StreamWriter^ writer = gcnew StreamWriter( isoStream );
writer->WriteLine( this->NewsUrl );
writer->WriteLine( this->SportsUrl );

// Calculate the amount of space used to record the user's preferences.
double d = isoFile->CurrentSize / isoFile->MaximumSize;
Console::WriteLine( "CurrentSize = {0}", isoFile->CurrentSize.ToString() );
Console::WriteLine( "MaximumSize = {0}", isoFile->MaximumSize.ToString() );
writer->Close();
isoFile->Close();
isoStream->Close();
return d;
IsolatedStorageFile isoFile;
isoFile = IsolatedStorageFile.GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream isoStream =
    new IsolatedStorageFileStream(this.userName,
    FileMode.OpenOrCreate,
    FileAccess.Write,
    isoFile);

StreamWriter writer = new StreamWriter(isoStream);
writer.WriteLine(this.NewsUrl);
writer.WriteLine(this.SportsUrl);
// Calculate the amount of space used to record the user's preferences.
double d = isoFile.CurrentSize / isoFile.MaximumSize;
Console.WriteLine("CurrentSize = " + isoFile.CurrentSize.ToString());
Console.WriteLine("MaximumSize = " + isoFile.MaximumSize.ToString());
// StreamWriter.Close implicitly closes isoStream.
writer.Close();
isoFile.Dispose();
isoFile.Close();
return d;
Dim isoFile As IsolatedStorageFile
isoFile = IsolatedStorageFile.GetUserStoreForDomain()

' Open or create a writable file.
Dim isoStream As New IsolatedStorageFileStream(Me.userName, FileMode.OpenOrCreate, _
    FileAccess.Write, isoFile)

Dim writer As New StreamWriter(isoStream)
writer.WriteLine(Me.NewsUrl)
writer.WriteLine(Me.SportsUrl)
' Calculate the amount of space used to record the user's preferences.
Dim d As Double = Convert.ToDouble(isoFile.CurrentSize) / Convert.ToDouble(isoFile.MaximumSize)
Console.WriteLine(("CurrentSize = " & isoFile.CurrentSize.ToString()))
Console.WriteLine(("MaximumSize = " & isoFile.MaximumSize.ToString()))
' StreamWriter.Close implicitly closes isoStream.
writer.Close()
isoFile.Dispose()
isoFile.Close()
Return d

Uwagi

Ten sam kod zestawu będzie używać różnych izolowanych magazynów, gdy są używane w kontekście różnych aplikacji.

GetMachineStoreForDomain jest funkcjonalnie równoważny z następującym kodem:

isoFile = IsolatedStorageFile::GetStore(IsolatedStorageScope::Assembly |
    IsolatedStorageScope::Domain | IsolatedStorageScope::Machine,
    (Type^)nullptr, (Type^)nullptr);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly |
    IsolatedStorageScope.Domain | IsolatedStorageScope.Machine,
    null, null);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly Or _
    IsolatedStorageScope.Domain Or IsolatedStorageScope.Machine, _
    Nothing, Nothing)

Różne zestawy uruchomione w tej samej domenie aplikacji zawsze mają odrębne izolowane magazyny.

Uwaga

GetUserStoreForDomain Metoda zwróci IsolatedStorageFile obiekt bez limitu przydziału, jeśli domena aplikacji, do której zainstalowano zestaw, nie ma elementu IsolatedStorageFilePermission. Późniejsze próby utworzenia IsolatedStorageFile obiektu przy użyciu IsolatedStorageFile obiektu, który nie ma przydziału, zakończy się niepowodzeniem z powodu .IsolatedStorageException

Dotyczy

Zobacz też