Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode atribuir dados de qualificação para um segmento de pipeline para qualquer propósito, aplicando um ou mais QualificationDataAttribute atributos para o segmento. Cada atributo especifica um par nome/valor simples de dados de seqüência de caracteres. Por exemplo, você pode indicar que um add-in deve ser ativado com confiança total, especificando o par nome/valor "Segurança" e "fulltrust". Da mesma forma, você pode indicar que um segmento de pipeline deve ser isolado em seu próprio processo especificando o par nome/valor "Isolamento" e "newprocess".
Para aplicar a qualificação de dados a um segmento de pipeline
Use o QualificationDataAttribute atributo.
' This pipeline segment has ' two attributes: ' 1 - An AddInAttribute to identify ' this segment as an add-in. ' ' 2 - A QualificationDataAttribute to ' indicate that the add-in should ' be loaded into a new application domain. <AddIn("Calculator Add-in", Version:="2.0.0.0")> _ <QualificationData("Isolation", "NewAppDomain")> _ Public Class SampleV2AddIn// This pipeline segment has // two attributes: // 1 - An AddInAttribute to identify // this segment as an add-in. // // 2 - A QualificationDataAttribute to // indicate that the add-in should // be loaded into a new application domain. [AddIn("Calculator Add-in",Version="2.0.0.0")] [QualificationData("Isolation", "NewAppDomain")] public class SampleV2AddIn : Calculator2 {
Para determinar os dados de qualificação para um segmento específico de pipeline
Use o QualificationData propriedade em um AddInToken objeto para obter um dicionário de segmentos e seus dados de qualificação associados com o token e em seguida, use o apropriado AddInSegmentType valor de um dicionário que contém os pares nome/valor que constituem os dados de qualificação para o segmento desejado.
' Use qualification data to control ' how an add-in should be activated. If selectedToken.QualificationData(AddInSegmentType.AddIn)("Isolation").Equals("NewProcess") Then ' Create an external process. Dim external As AddInProcess = New AddInProcess ' Activate an add-in in an automatically generated ' application domain with a full trust security level. Dim CalcAddin5 As Calculator = _ selectedToken.Activate(Of Calculator)(external, _ AddInSecurityLevel.FullTrust) Console.WriteLine("Add-in activated per qualification data.") Else Console.WriteLine("This add-in is not designated to be activated in a new process.") End If// Use qualification data to control // how an add-in should be activated. if (selectedToken.QualificationData[AddInSegmentType.AddIn]["Isolation"].Equals("NewProcess")) { // Create an external process. AddInProcess external = new AddInProcess(); // Activate an add-in in the new process // with the full trust security level. Calculator CalcAddIn5 = selectedToken.Activate<Calculator>(external, AddInSecurityLevel.FullTrust); Console.WriteLine("Add-in activated per qualification data."); } else Console.WriteLine("This add-in is not designated to be activated in a new process.");Se não houver nenhum dado de qualificação para um segmento, o seu dicionário de pares nome/valor está vazio.
Observação
O modelo de suplemento não usa dados de qualificação são aplicados ao modo de exibição de host do add-in.Como resultado, o dicionário para AddInSegmentType.HostViewOfAddIn está sempre vazio.
Para listar os dados de qualificação para todos os segmentos de pipeline
Enumerar o AddInToken de objeto como se fosse uma coleção de QualificationDataItem estruturas.
' Show the qualification data for each ' token in an AddInToken collection. For Each token As AddInToken In tokens For Each qdi As QualificationDataItem In token Console.WriteLine("{0} {1}\n\t QD Name: {2}, QD Value: {3}", _ token.Name, qdi.Segment, qdi.Name, qdi.Value) Next Next// Show the qualification data for each // token in an AddInToken collection. foreach (AddInToken token in tokens) { foreach (QualificationDataItem qdi in token) { Console.WriteLine("{0} {1}\n\t QD Name: {2}, QD Value: {3}", token.Name, qdi.Segment, qdi.Name, qdi.Value); } }Observação
O modelo de suplemento não usa dados de qualificação são aplicados ao modo de exibição de host do add-in.Como resultado, quando você enumerar a qualificação de dados, você não encontrará os itens cuja Segment é a propriedade AddInSegmentType.HostViewOfAddIn.