Aracılığıyla paylaş


PackageStore.AddPackage(Uri, Package) Yöntem

Tanım

Mağazaya bir Package ekler.

public:
 static void AddPackage(Uri ^ uri, System::IO::Packaging::Package ^ package);
public static void AddPackage (Uri uri, System.IO.Packaging.Package package);
static member AddPackage : Uri * System.IO.Packaging.Package -> unit
Public Shared Sub AddPackage (uri As Uri, package As Package)

Parametreler

uri
Uri

içinde karşılaştıracak anahtar URI'si packagePackWebRequest.

package
Package

Mağazaya eklenecek paket.

Özel durumlar

package, null değeridir.

packageUri geçersiz bir paket URI'si.

Belirtilen packageUri paket zaten depoda.

Örnekler

Aşağıdaki örnekte yönteminin nasıl kullanılacağı gösterilmektedir AddPackage .

if (rmi.CryptoProvider.CanDecrypt == true)
    ShowStatus("   Decryption granted.");
else
    ShowStatus("   CANNOT DECRYPT!");

ShowStatus("   Getting the Package from\n" +
           "      the EncryptedPackage.");
_xpsPackage = ePackage.GetPackage();
if (_xpsPackage == null)
{
    MessageBox.Show("Unable to get Package.");
    return false;
}

// Set a PackageStore Uri reference for the encrypted stream.
// ("sdk://packLocation" is a pseudo URI used by
//  PackUriHelper.Create to define the parserContext.BaseURI
//  that XamlReader uses to access the encrypted data stream.)
Uri packageUri = new Uri(@"sdk://packLocation", UriKind.Absolute);
// Add the URI package
PackageStore.AddPackage(packageUri, _xpsPackage);
// Determine the starting part for the package.
PackagePart startingPart = GetPackageStartingPart(_xpsPackage);

// Set the DocViewer.Document property.
ShowStatus("   Opening in DocumentViewer.");
ParserContext parserContext = new ParserContext();
parserContext.BaseUri = PackUriHelper.Create(
                            packageUri, startingPart.Uri);
parserContext.XamlTypeMapper = XamlTypeMapper.DefaultMapper;
DocViewer.Document = XamlReader.Load(
    startingPart.GetStream(), parserContext)
        as IDocumentPaginatorSource;

// Enable document menu controls.
menuFileClose.IsEnabled = true;
menuFilePrint.IsEnabled = true;
menuViewIncreaseZoom.IsEnabled = true;
menuViewDecreaseZoom.IsEnabled = true;

// Give the DocumentViewer focus.
DocViewer.Focus();
If rmi.CryptoProvider.CanDecrypt = True Then
    ShowStatus("   Decryption granted.")
Else
    ShowStatus("   CANNOT DECRYPT!")
End If

ShowStatus("   Getting the Package from" & vbLf & "      the EncryptedPackage.")
_xpsPackage = ePackage.GetPackage()
If _xpsPackage Is Nothing Then
    MessageBox.Show("Unable to get Package.")
    Return False
End If

' Set a PackageStore Uri reference for the encrypted stream.
' ("sdk://packLocation" is a pseudo URI used by
'  PackUriHelper.Create to define the parserContext.BaseURI
'  that XamlReader uses to access the encrypted data stream.)
Dim packageUri As New Uri("sdk://packLocation", UriKind.Absolute)
' Add the URI package
PackageStore.AddPackage(packageUri, _xpsPackage)
' Determine the starting part for the package.
Dim startingPart As PackagePart = GetPackageStartingPart(_xpsPackage)

' Set the DocViewer.Document property.
ShowStatus("   Opening in DocumentViewer.")
Dim parserContext As New ParserContext()
parserContext.BaseUri = PackUriHelper.Create(packageUri, startingPart.Uri)
parserContext.XamlTypeMapper = XamlTypeMapper.DefaultMapper
DocViewerProperty.Document = TryCast(XamlReader.Load(startingPart.GetStream(), parserContext), IDocumentPaginatorSource)

' Enable document menu controls.
menuFileClose.IsEnabled = True
menuFilePrint.IsEnabled = True
menuViewIncreaseZoom.IsEnabled = True
menuViewDecreaseZoom.IsEnabled = True

' Give the DocumentViewer focus.
DocViewerProperty.Focus()

Açıklamalar

packageUri çağrısı PackWebRequestyaptığınızda karşılaştırılan paketin anahtar URI'sini tanımlar.

çağrısındaki packageUriUriPackWebRequest için PackagePart ile eşleşiyorsa, içinde tanımlanan PackageStore paket istenen bölüme erişmek için kullanılır.

packageUri çağrısındaki PackWebRequest için PackagePart ile eşleşmezseUri, istenen bölüme erişmek için belirtilen URI'ye sahip paket açılır.

Güvenlik Notu Bu yöntem tüm özel Package (olmayanZipPackage) türler için talepte EnvironmentPermission bulunur.

Şunlara uygulanır

Ayrıca bkz.