IsolatedStorageFile.GetMachineStoreForDomain Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém armazenamento isolado com alcance de máquina correspondente à identidade do domínio da aplicação e à identidade de assembly.
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
Devoluções
Um objeto correspondente ao IsolatedStorageScope, baseado numa combinação da identidade do domínio da aplicação e da identidade assembly.
Exceções
Não foram concedidas permissões suficientes de armazenamento isolado.
A loja não abriu.
-ou-
A assembly especificada tem permissões insuficientes para criar armazenamentos isolados.
-ou-
As permissões para o domínio da aplicação não podem ser determinadas.
-ou-
Um local de armazenamento isolado não pode ser inicializado.
Exemplos
O seguinte exemplo de código demonstra o GetUserStoreForDomain método. Para o contexto completo deste exemplo, veja a IsolatedStorageFile visão geral.
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
Observações
O mesmo código assembly usará armazenamentos isolados diferentes quando usado no contexto de aplicações diferentes.
GetMachineStoreForDomain é funcionalmente equivalente ao seguinte código:
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly |
IsolatedStorageScope.Domain | IsolatedStorageScope.Machine,
null, null);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly Or _
IsolatedStorageScope.Domain Or IsolatedStorageScope.Machine, _
Nothing, Nothing)
Assemblies diferentes a correr dentro do mesmo domínio de aplicação têm sempre armazenamentos isolados distintos.
Note
GetUserStoreForDomain devolverá um IsolatedStorageFile objeto sem quota se o domínio de aplicação onde o assembly está instalado não tiver IsolatedStorageFilePermission. Tentativas posteriores de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem quota falharão com um IsolatedStorageException.