AppDomain.GetData(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, хранящееся в текущем домене приложения для указанного имени.
public:
System::Object ^ GetData(System::String ^ name);
public:
virtual System::Object ^ GetData(System::String ^ name);
public object? GetData(string name);
public object GetData(string name);
member this.GetData : string -> obj
abstract member GetData : string -> obj
override this.GetData : string -> obj
Public Function GetData (name As String) As Object
Параметры
- name
- String
Имя предопределенного свойства домена приложения или имя определенного свойства домена приложения.
Возвращаемое значение
Значение name свойства или null если свойство не существует.
Реализации
Исключения
name равно null.
Операция выполняется в выгруженном домене приложения.
Примеры
В следующем примере создается новый домен приложения, устанавливается системное значение для домена и добавляется новая пара значений для домена. Затем в примере показано, как использовать GetData метод для извлечения данных из этих пар значений и отображения их в консоли.
using namespace System;
using namespace System::Reflection;
int main()
{
// appdomain setup information
AppDomain^ currentDomain = AppDomain::CurrentDomain;
//Create a new value pair for the appdomain
currentDomain->SetData( "ADVALUE", "Example value" );
//get the value specified in the setdata method
Console::WriteLine( "ADVALUE is: {0}", currentDomain->GetData( "ADVALUE" ) );
//get a system value specified at appdomainsetup
Console::WriteLine( "System value for loader optimization: {0}",
currentDomain->GetData( "LOADER_OPTIMIZATION" ) );
}
/* This code example produces the following output:
ADVALUE is: Example value
System value for loader optimization: NotSpecified
*/
using System;
using System.Reflection;
class ADGetData
{
public static void Main()
{
// appdomain setup information
AppDomain currentDomain = AppDomain.CurrentDomain;
//Create a new value pair for the appdomain
currentDomain.SetData("ADVALUE", "Example value");
//get the value specified in the setdata method
Console.WriteLine("ADVALUE is: " + currentDomain.GetData("ADVALUE"));
//get a system value specified at appdomainsetup
Console.WriteLine("System value for loader optimization: {0}",
currentDomain.GetData("LOADER_OPTIMIZATION"));
}
}
/* This code example produces the following output:
ADVALUE is: Example value
System value for loader optimization: NotSpecified
*/
open System
// appdomain setup information
let currentDomain = AppDomain.CurrentDomain
//Create a new value pair for the appdomain
currentDomain.SetData("ADVALUE", "Example value")
//get the value specified in the setdata method
currentDomain.GetData "ADVALUE"
|> printfn "ADVALUE is: %O"
//get a system value specified at appdomainsetup
currentDomain.GetData "LOADER_OPTIMIZATION"
|> printfn "System value for loader optimization: %O"
(* This code example produces the following output:
ADVALUE is: Example value
System value for loader optimization: NotSpecified
*)
Imports System.Reflection
Class ADGetData
Public Shared Sub Main()
' appdomain setup information
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
'Create a new value pair for the appdomain
currentDomain.SetData("ADVALUE", "Example value")
'get the value specified in the setdata method
Console.WriteLine(("ADVALUE is: " & currentDomain.GetData("ADVALUE")))
'get a system value specified at appdomainsetup
Console.WriteLine("System value for loader optimization: {0}", _
currentDomain.GetData("LOADER_OPTIMIZATION"))
End Sub
End Class
' This code example produces the following output:
'
'ADVALUE is: Example value
'System value for loader optimization: NotSpecified
Комментарии
Используйте этот метод, чтобы получить значение записи во внутреннем кэше пар имен-данных, описывающих свойства этого экземпляра AppDomain. Обратите внимание, что сравнение name с именем пар "ключ-значение" учитывает регистр.
Кэш автоматически содержит предопределенные системные записи, вставленные при создании домена приложения. Их значения можно проверить с помощью GetData метода или эквивалентных AppDomainSetup свойств.
Вы можете вставить или изменить собственные определяемые пользователем пары name-data с методом SetData и проверить их значения с GetData помощью метода.
В следующей таблице описывается name каждая предопределенная системная запись и соответствующее AppDomainSetup свойство.
| Значение "name" | Недвижимость |
|---|---|
| AppBASE | AppDomainSetup.ApplicationBase |
| "APP_CONFIG_FILE" | AppDomainSetup.ConfigurationFile |
| "APP_LAUNCH_URL" | (нет свойства) "APP_LAUNCH_URL" представляет URL-адрес, первоначально запрошенный пользователем, перед перенаправлением. Он доступен только в том случае, если приложение запущено с помощью браузера. Не все браузеры предоставляют это значение. |
| "APP_NAME" | AppDomainSetup.ApplicationName |
| "BINPATH_PROBE_ONLY" | AppDomainSetup.PrivateBinPathProbe |
| "CACHE_BASE" | AppDomainSetup.CachePath |
| "CODE_DOWNLOAD_DISABLED" | AppDomainSetup.DisallowCodeDownload |
| "DEV_PATH" | (нет свойства) |
| "DISALLOW_APP" | AppDomainSetup.DisallowPublisherPolicy |
| "DISALLOW_APP_BASE_PROBING" | AppDomainSetup.DisallowApplicationBaseProbing |
| "DISALLOW_APP_REDIRECTS" | AppDomainSetup.DisallowBindingRedirects |
| "DYNAMIC_BASE" | AppDomainSetup.DynamicBase |
| "FORCE_CACHE_INSTALL" | AppDomainSetup.ShadowCopyFiles |
| "LICENSE_FILE" или строка для конкретного приложения | AppDomainSetup.LicenseFile |
| "LOADER_OPTIMIZATION" | AppDomainSetup.LoaderOptimization |
| "LOCATION_URI" | (нет свойства) |
| "PRIVATE_BINPATH" | AppDomainSetup.PrivateBinPath |
| "REGEX_DEFAULT_MATCH_TIMEOUT" | Regex.MatchTimeout "REGEX_DEFAULT_MATCH_TIMEOUT" не является системной записью, и его значение можно задать путем вызова SetData метода. |
| "SHADOW_COPY_DIRS" | AppDomainSetup.ShadowCopyDirectories |