Sdílet prostřednictvím


Postupy: Přidání vlastního uzlu služby SharePoint do průzkumníka serveru

Můžete přidat vlastní uzly pod SharePoint připojení uzlu v Server Explorer.To je užitečné, pokud chcete zobrazit další součásti serveru SharePoint, které nejsou zobrazeny v Server Explorer ve výchozím nastavení.Další informace naleznete v tématu Rozšíření uzlu připojení služby SharePoint v průzkumníku serveru.

Chcete-li přidat vlastní uzel nejprve vytvořte třídu, která definuje nový uzel.Vytvořte rozšíření, která přidá uzel jako podřízený existující uzel.

Definovat nový uzel.

  1. Vytvořte projekt knihovny tříd.

  2. Přidejte odkazy do následujících sestavení:

    • Microsoft.VisualStudio.SharePoint

    • Microsoft.VisualStudio.SharePoint.Explorer.Extensions

    • System.ComponentModel.Composition

    • System.Drawing

  3. Vytvořte třídu, která implementuje rozhraní IExplorerNodeTypeProvider.

  4. Přidejte následující atributy do třídy:

  5. V implementace IExplorerNodeTypeProvider.InitializeType metodu použití členy typeDefinition parametr konfigurace chování nový uzel.Tento parametr je objekt IExplorerNodeTypeDefinition, který poskytuje přístup k událostem definovaným v rozhraní IExplorerNodeEvents.

    Následující příklad kódu ukazuje, jak definovat nový uzel.Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky.

    <Export(GetType(IExplorerNodeTypeProvider))> _
    <ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _
    Friend Class ExampleNodeTypeProvider
        Implements IExplorerNodeTypeProvider
        Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample" 
    
        Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
            Implements IExplorerNodeTypeProvider.InitializeType
            typeDefinition.DefaultIcon = _
                My.Resources.CustomChildNodeIcon.ToBitmap()
            typeDefinition.IsAlwaysLeaf = True 
        End Sub 
    End Class
    
    [Export(typeof(IExplorerNodeTypeProvider))]
    [ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)]
    internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider
    {
        internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample";
    
        public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
        {
            typeDefinition.DefaultIcon =
                Properties.Resources.CustomChildNodeIcon.ToBitmap();
            typeDefinition.IsAlwaysLeaf = true;
        }
    }
    

Přidat nový uzel jako podřízený existující uzel

  1. Ve stejném projektu jako vaše definice uzlu vytvořit třídu, která implementuje IExplorerNodeTypeExtension rozhraní.

  2. Třídě přidejte atribut ExportAttribute.Tento atribut umožňuje Visual Studiu zjišťovat a načítat vaši implementaci IExplorerNodeTypeExtension.Předejte typ IExplorerNodeTypeExtension do konstruktoru atributu.

  3. Třídě přidejte atribut ExplorerNodeTypeAttribute.V uzlu Rozšíření tento atribut určuje identifikátor řetězce pro typ uzlu, který chcete rozšířit.

    Chcete-li určit typy vestavěných uzlů poskytované Visual Studiem, předejte jednu z následujících výčtových hodnot konstruktoru atributů:

    • ExplorerNodeTypes: Používají tyto hodnoty pro určení uzlů webových připojení (uzly, které zobrazují adresy URL), uzly stránek nebo všechny ostatní nadřazené uzly v Průzkumníku serveru.

    • ExtensionNodeTypes: Pomocí těchto hodnot určete jeden z vestavěných uzlů, který představuje jednotlivou součást na webu služby SharePoint, jako je například uzel, který představuje seznam, pole nebo typ obsahu.

  4. V implementace Initialize metoda, úchyt NodeChildrenRequested události IExplorerNodeType parametr.

  5. V NodeChildrenRequested obslužné rutiny události přidat nový uzel do kolekce podřízených uzlů Node objekt, který je vystaven argumenty parametru události.

    Následující příklad kódu ukazuje, jak přidat nový uzel jako podřízený uzel webu SharePoint v Server Explorer.

    <Export(GetType(IExplorerNodeTypeExtension))> _
    <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
    Friend Class SiteNodeExtension
        Implements IExplorerNodeTypeExtension
    
        Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
            Implements IExplorerNodeTypeExtension.Initialize
            AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
        End Sub 
    
        Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _
                "Custom Node", Nothing)
        End Sub 
    End Class
    
    [Export(typeof(IExplorerNodeTypeExtension))]
    [ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
    internal class SiteNodeExtension : IExplorerNodeTypeExtension
    {
        public void Initialize(IExplorerNodeType nodeType)
        {
            nodeType.NodeChildrenRequested += NodeChildrenRequested;
        }
    
        private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
        {
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId,
                "Custom Node", null);
        }
    }
    

Kompletní příklad

Následující příklad kódu poskytuje kompletní kód definovat Jednoduchý uzel a přidat jako podřízený uzel webu SharePoint v Server Explorer.

Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Imports Microsoft.VisualStudio.SharePoint.Explorer

Namespace Contoso.ServerExplorerExtension

    <Export(GetType(IExplorerNodeTypeProvider))> _
    <ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _
    Friend Class ExampleNodeTypeProvider
        Implements IExplorerNodeTypeProvider
        Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample" 

        Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
            Implements IExplorerNodeTypeProvider.InitializeType
            typeDefinition.DefaultIcon = _
                My.Resources.CustomChildNodeIcon.ToBitmap()
            typeDefinition.IsAlwaysLeaf = True 
        End Sub 
    End Class

    <Export(GetType(IExplorerNodeTypeExtension))> _
    <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
    Friend Class SiteNodeExtension
        Implements IExplorerNodeTypeExtension

        Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
            Implements IExplorerNodeTypeExtension.Initialize
            AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
        End Sub 

        Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _
                "Custom Node", Nothing)
        End Sub 
    End Class 
End Namespace
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
using Microsoft.VisualStudio.SharePoint.Explorer;

namespace Contoso.ServerExplorerExtension
{
    [Export(typeof(IExplorerNodeTypeProvider))]
    [ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)]
    internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider
    {
        internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample";

        public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
        {
            typeDefinition.DefaultIcon =
                Properties.Resources.CustomChildNodeIcon.ToBitmap();
            typeDefinition.IsAlwaysLeaf = true;
        }
    }

    [Export(typeof(IExplorerNodeTypeExtension))]
    [ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
    internal class SiteNodeExtension : IExplorerNodeTypeExtension
    {
        public void Initialize(IExplorerNodeType nodeType)
        {
            nodeType.NodeChildrenRequested += NodeChildrenRequested;
        }

        private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
        {
            e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId,
                "Custom Node", null);
        }
    }
}

Probíhá kompilace kódu

Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky.V tomto příkladu vyžaduje také odkazy na následující sestavení:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

  • System.Drawing

Nasazování rozšíření

Chcete-li nasadit rozšíření Průzkumníka serveru vytvořte Visual Studio balíček rozšíření (VSIX) pro sestavení a všechny další soubory, které chcete distribuovat s rozšířením.Další informace naleznete v tématu Nasazování rozšíření pro nástroje služby SharePoint v aplikaci Visual Studio.

Viz také

Úkoly

Návod: Rozšíření průzkumníka serveru pro zobrazení částí webu

Koncepty

Postupy: Rozšíření uzlu služby SharePoint v průzkumníku serveru

Další zdroje

Rozšíření uzlu připojení služby SharePoint v průzkumníku serveru