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.
Vytvořte projekt knihovny tříd.
Přidejte odkazy do následujících sestavení:
Microsoft.VisualStudio.SharePoint
Microsoft.VisualStudio.SharePoint.Explorer.Extensions
System.ComponentModel.Composition
System.Drawing
Vytvořte třídu, která implementuje rozhraní IExplorerNodeTypeProvider.
Přidejte následující atributy do třídy:
ExportAttribute.Tento atribut umožňuje Visual Studiu zjišťovat a načítat vaši implementaci IExplorerNodeTypeProvider.Předejte IExplorerNodeTypeProvider typ do konstruktoru atributu.
ExplorerNodeTypeAttribute.V definici uzlu tento atribut určuje identifikátor řetězce pro nový uzel.Doporučujeme použít formát firma. název uzlu a ujistěte se, zda mají všechny uzly jedinečný identifikátor.
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
Ve stejném projektu jako vaše definice uzlu vytvořit třídu, která implementuje IExplorerNodeTypeExtension rozhraní.
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.
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.
V implementace Initialize metoda, úchyt NodeChildrenRequested události IExplorerNodeType parametr.
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