Поделиться через


UnsignedPublishLicense Конструкторы

Определение

Инициализирует новый экземпляр класса UnsignedPublishLicense.

Перегрузки

UnsignedPublishLicense()

Инициализирует новый экземпляр класса UnsignedPublishLicense.

UnsignedPublishLicense(String)

Инициализирует новый экземпляр класса из указанного UnsignedPublishLicense шаблона лицензии на публикацию XrML.

UnsignedPublishLicense()

Инициализирует новый экземпляр класса UnsignedPublishLicense.

public:
 UnsignedPublishLicense();
public UnsignedPublishLicense ();
Public Sub New ()

Комментарии

UnsignedPublishLicense создает пустую и неподписаемую лицензию на публикацию.

Применяется к

UnsignedPublishLicense(String)

Инициализирует новый экземпляр класса из указанного UnsignedPublishLicense шаблона лицензии на публикацию XrML.

public:
 UnsignedPublishLicense(System::String ^ publishLicenseTemplate);
public UnsignedPublishLicense (string publishLicenseTemplate);
new System.Security.RightsManagement.UnsignedPublishLicense : string -> System.Security.RightsManagement.UnsignedPublishLicense
Public Sub New (publishLicenseTemplate As String)

Параметры

publishLicenseTemplate
String

Шаблон лицензии на публикацию XrML, используемый для создания этой лицензии.

Примеры

В следующем примере показано, как использовать этот конструктор.

WriteStatus("   Reading '" + xrmlFilename + "' permissions.");
try
{
    StreamReader sr = File.OpenText(xrmlFile);
    xrmlString = sr.ReadToEnd();
}
catch (Exception ex)
{
    MessageBox.Show("ERROR: '"+xrmlFilename+"' open failed.\n"+
        "Exception: " + ex.Message, "XrML File Error",
        MessageBoxButton.OK, MessageBoxImage.Error);
    return false;
}

WriteStatus("   Building UnsignedPublishLicense");
WriteStatus("       from '" + xrmlFilename + "'.");
UnsignedPublishLicense unsignedLicense =
    new UnsignedPublishLicense(xrmlString);
ContentUser author = unsignedLicense.Owner;
WriteStatus("   Reading '" & xrmlFilename & "' permissions.")
Try
    Dim sr As StreamReader = File.OpenText(xrmlFile)
    xrmlString = sr.ReadToEnd()
Catch ex As Exception
    MessageBox.Show("ERROR: '" & xrmlFilename &"' open failed." & vbLf & "Exception: " & ex.Message, "XrML File Error", MessageBoxButton.OK, MessageBoxImage.Error)
    Return False
End Try

WriteStatus("   Building UnsignedPublishLicense")
WriteStatus("       from '" & xrmlFilename & "'.")
Dim unsignedLicense As New UnsignedPublishLicense(xrmlString)
Dim author As ContentUser = unsignedLicense.Owner

Комментарии

XrML publishLicenseTemplate<RANGETIME> или <INTERVALTIME> элементы игнорируются при UnsignedPublishLicense создании конструктором UnsignedPublishLicense(String). Чтобы указать эти значения для лицензии на публикацию ContentGrant , необходимо явно задать свойства для ValidFrom и ValidUntil . В следующем примере показано, как явно задать ValidFrom свойства и ValidUntil .

// The XRML template <RANGETIME> and <INTERVALTIME> elements are
// ignored by the UnsignedPublishLicense(xrmlString) constructor.
// To specify these values for the license, the ContentGrant
// ValidFrom and ValidUntil properties must be explicitly set.
// The following code sample demonstrates how to set the
// ContentGrant properties for ValidFrom and ValidUntil.

// Create a copy of the original XRML template ContentGrants
// set by the UnsignedPublishLicense(xrmlString) constructor.
ICollection<ContentGrant> tmpGrants = new List<ContentGrant>();
foreach (ContentGrant grant in unsignedLicense.Grants)
    tmpGrants.Add(grant);

// Erase all original UnsignedPublishLicense ContentGrants.
unsignedLicense.Grants.Clear();

// Add each original grant back to the UnsignedPublishLicense
// with appropriate ValidFrom and ValidUntil date/time values.
foreach (ContentGrant grant in tmpGrants)
{
    unsignedLicense.Grants.Add( new ContentGrant(
        grant.User, grant.Right,
        DateTime.MinValue,    // set ValidFrom as appropriate
        DateTime.MaxValue));  // set ValidUntil as appropriate
}
' The XRML template <RANGETIME> and <INTERVALTIME> elements are
' ignored by the UnsignedPublishLicense(xrmlString) constructor.
' To specify these values for the license, the ContentGrant
' ValidFrom and ValidUntil properties must be explicitly set.
' The following code sample demonstrates how to set the
' ContentGrant properties for ValidFrom and ValidUntil.

' Create a copy of the original XRML template ContentGrants
' set by the UnsignedPublishLicense(xrmlString) constructor.
Dim tmpGrants As ICollection(Of ContentGrant) = New List(Of ContentGrant)()
For Each grant As ContentGrant In unsignedLicense.Grants
    tmpGrants.Add(grant)
Next grant

' Erase all original UnsignedPublishLicense ContentGrants.
unsignedLicense.Grants.Clear()

' Add each original grant back to the UnsignedPublishLicense
' with appropriate ValidFrom and ValidUntil date/time values.
For Each grant As ContentGrant In tmpGrants
    unsignedLicense.Grants.Add(New ContentGrant(grant.User, grant.Right, Date.MinValue, Date.MaxValue)) ' set ValidUntil as appropriate -  set ValidFrom as appropriate
Next grant

Применяется к