Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Właściwości rozszerzenia aplikacji to pole niestandardowych metadanych udostępniane przez dewelopera rozszerzenia aplikacji w manifeście aplikacji. Hosty rozszerzeń aplikacji mogą odczytywać te metadane podczas badania rozszerzeń aplikacji bez konieczności ładowania jakiejkolwiek zawartości z rozszerzenia aplikacji.
Właściwości są opcjonalne, ale bardzo przydatne. Istnieje wiele możliwych metadanych, które mogą być wymagane podczas tworzenia platformy hosta rozszerzenia aplikacji, takich jak wersja, możliwości, listy obsługiwanych typów plików lub inne dane, które są pomocne przed załadowaniem rozszerzenia aplikacji. Takie informacje mogą nawet określić sposób ładowania rozszerzenia aplikacji. Zamiast próbować przewidzieć wszystkie pola, które mogą być potrzebne, właściwości rozszerzenia aplikacji zapewniają otwartą kanwę, aby zdefiniować dokładnie to, czego potrzebujesz, w sposób najlepiej dostosowany do Twojej aplikacji.
Zalety właściwości rozszerzenia aplikacji
Istnieją dwa ważne powody, dla których należy korzystać z właściwości rozszerzenia aplikacji:
Jest to łatwy i bezpieczny sposób przechowywania podstawowych lub ważnych metadanych dotyczących platformy rozszerzenia aplikacji bez konieczności umieszczania tych informacji w plikach. Można go używać do ważnych pojęć, takich jak przechowywanie wersji, uprawnienia i wymuszanie. Na przykład aplikacja może nalegać, aby
versionpole było zdefiniowane i obecne we właściwościach oraz miało inne zachowanie ładowania na podstawie tej wartości.Ponieważ informacje są przechowywane w manifeście aplikacji, można je indeksować i udostępniać za pośrednictwem interfejsu API w przyszłości. Oznacza to, że można go pokazać użytkownikowi lub przeprowadzać bardziej zaawansowane wyszukiwania właściwości za pomocą rozszerzenia aplikacji bez konieczności wcześniejszego wdrażania i ładowania rozszerzenia.
Jak zadeklarować właściwości
Właściwości są deklarowane w pliku Package.appxmanifest w pakiecie. Mogą być odczytywane w czasie wykonywania przez hosta rozszerzenia jako zestaw właściwości. Ponieważ host definiuje platformę, do hosta należy przekazać deweloperom rozszerzeń, które właściwości są dostępne i powinny zostać wprowadzone do deklaracji AppExtension.
Uwaga / Notatka
Projektant manifestu w programie Visual Studio nie obsługuje możliwości definiowania właściwości. Aby zdefiniować właściwości, należy edytować plik Package.appxmanifest bezpośrednio.
Aby zadeklarować właściwości, umieść je w elemencie <uap3:Properties/> pod deklaracją <uap3:AppExtension>. Oto przykładowa <uap3:AppExtension> deklaracja przeglądarki Microsoft Edge, która używa właściwości obsługiwanych przez przeglądarkę Edge.
<uap3:AppExtension Name="com.microsoft.edge.extension" Id="FirstExtension" PublicFolder="Extension" DisplayName="MyExtension">
<uap3:Properties>
<Capabilities>
<Capability Name="websiteContent" />
<Capability Name="websiteInfo" />
<Capability Name="browserWebRequest" />
<Capability Name="browserStorage" />
</Capabilities>
</uap3:Properties>
</uap3:AppExtension>
Przeglądarka Edge zdefiniowała znaną wartość Capabilities właściwości wraz z zadeklarowaną listą funkcji rozszerzeń. Jako host możesz obsługiwać dowolne właściwości w rozszerzeniach aplikacji. Ponieważ jest to zestaw właściwości, można mieć także właściwości zagnieżdżone. Dobrym pomysłem jest posiadanie właściwości wersji głównej, której można użyć w przypadku zmiany formatów rozszerzeń w przyszłości. Celowo nie umieściliśmy Version jako atrybutu rozszerzeń aplikacji, więc nie byłoby sztucznie ograniczone do korzystania z semantyki przechowywania wersji. Zamiast tego utworzyliśmy właściwości, w których wersja może być jednym z wielu niestandardowych atrybutów zdefiniowanych przez użytkownika, w dowolny sposób i formacie, i przetwarzanych zgodnie z potrzebami.
Jak używać właściwości
Załóżmy, że masz prostą właściwość w rozszerzeniach aplikacji, która opisuje wersję, taką jak poniżej.
<uap3:Properties>
<Version>1.0.0.0</Version>
</uap3:Properties>
Aby uzyskać te dane w czasie wykonywania, po prostu wywołaj metodę GetExtensionPropertiesAsync() w rozszerzeniach aplikacji.
string extensionVersion = "Unknown";
var properties = await ext.GetExtensionPropertiesAsync() as PropertySet;
if (properties != null)
{
if (properties.ContainsKey("Version"))
{
PropertySet versionProperty = properties["Version"] as PropertySet;
extensionVersion = versionProperty["#text"].ToString();
}
}