Partager via


IVsAddWebReferenceDlg3.ShowAddWebReferenceDialog, méthode

Affiche la boîte de dialogue d'Ajouter une référence de service.

Espace de noms :  Microsoft.VisualStudio.WCFReference.Interop
Assembly :  Microsoft.VisualStudio.WCFReference.Interop (dans Microsoft.VisualStudio.WCFReference.Interop.dll)

Syntaxe

'Déclaration
Sub ShowAddWebReferenceDialog ( _
    pProject As IVsHierarchy, _
    pDiscoverySession As IDiscoverySession, _
    referenceTypesAllowed As ServiceReferenceType, _
    pszDialogName As String, _
    pExistingReferenceGroup As IVsWCFReferenceGroup, _
    pszReferenceConfigContents As String, _
    <OutAttribute> ByRef ppReferenceResult As IVsAddWebReferenceResult, _
    <OutAttribute> ByRef pfCancelled As Integer _
)
void ShowAddWebReferenceDialog(
    IVsHierarchy pProject,
    IDiscoverySession pDiscoverySession,
    ServiceReferenceType referenceTypesAllowed,
    string pszDialogName,
    IVsWCFReferenceGroup pExistingReferenceGroup,
    string pszReferenceConfigContents,
    out IVsAddWebReferenceResult ppReferenceResult,
    out int pfCancelled
)
void ShowAddWebReferenceDialog(
    [InAttribute] IVsHierarchy^ pProject, 
    [InAttribute] IDiscoverySession^ pDiscoverySession, 
    [InAttribute] ServiceReferenceType referenceTypesAllowed, 
    [InAttribute] String^ pszDialogName, 
    [InAttribute] IVsWCFReferenceGroup^ pExistingReferenceGroup, 
    [InAttribute] String^ pszReferenceConfigContents, 
    [OutAttribute] IVsAddWebReferenceResult^% ppReferenceResult, 
    [OutAttribute] int% pfCancelled
)
abstract ShowAddWebReferenceDialog : 
        pProject:IVsHierarchy * 
        pDiscoverySession:IDiscoverySession * 
        referenceTypesAllowed:ServiceReferenceType * 
        pszDialogName:string * 
        pExistingReferenceGroup:IVsWCFReferenceGroup * 
        pszReferenceConfigContents:string * 
        ppReferenceResult:IVsAddWebReferenceResult byref * 
        pfCancelled:int byref -> unit
function ShowAddWebReferenceDialog(
    pProject : IVsHierarchy, 
    pDiscoverySession : IDiscoverySession, 
    referenceTypesAllowed : ServiceReferenceType, 
    pszDialogName : String, 
    pExistingReferenceGroup : IVsWCFReferenceGroup, 
    pszReferenceConfigContents : String, 
    ppReferenceResult : IVsAddWebReferenceResult, 
    pfCancelled : int
)

Paramètres

  • pProject
    Type : IVsHierarchy

    IVsHierarchy pour le projet où la référence sera ajoutée.

  • pDiscoverySession
    Type : IDiscoverySession

    La session d'IVsDiscoveryService à l'utiliser pour le téléchargement de métadonnées.

  • pszDialogName
    Type : String

    String qui contient le titre de la boîte de dialogue. Peut être Null.

  • pszReferenceConfigContents
    Type : String

    String qui contient les contenus de configuration.

  • pfCancelled
    Type : Int32%

    Integer spécifiant si la boîte de dialogue a été annulée.

Notes

La boîte de dialogue d'Ajouter une référence de service permet à un utilisateur pour spécifier une adresse de téléchargement de métadonnées, télécharge les métadonnées de service, et affiche des informations sur le service.

Si le téléchargement de métadonnées de service est réussi et l'utilisateur ferme la boîte de dialogue en cliquant sur OK, le consommateur du service (par exemple le système de projet) doit appeler la méthode d'Save d'objet retourné d'IVsAddWebReferenceResult. Cela provoque une nouvelle référence de WCF à ajouter au projet et au proxy de service d'être généré. L'objet d'IVsAddWebReferenceResult peut également être mis en cache et utilisé pour créer une référence de service ultérieurement.

l'ShowAddWebReferenceDialog échoue immédiatement si le projet ne prend en charge pas le service de stockage, ou la propriété d'VSPROPID_ServiceReferenceSupported du projet n'est pas remplie.

Exemples

L'exemple suivant montre comment afficher la boîte de dialogue d'Ajouter une référence de service.

/// Add a service reference to the given project. 
private static IVsWCFReferenceGroup TryAddServiceReference
 (IVsHierarchy hierarchy, IServiceProvider serviceProvider,
 IDiscoverySession discoverySession)
{
    Debug.Assert(serviceProvider != null, "Why are we passing in a NULL
 service provider to a private method?");

    IVsAddWebReferenceDlg3 awrdlg = 
 serviceProvider.GetService(typeof(SVsAddWebReferenceDlg3))
 as IVsAddWebReferenceDlg3;
    IVsAddWebReferenceResult addWebReferenceResult = null;
    int cancelled = 1;

    if (awrdlg != null && hierarchy != null)
    {
        awrdlg.ShowAddWebReferenceDialog( 
            hierarchy, 
            discoverySession, 
            ServiceReferenceType.SRT_WCFReference, 
            null, 
            null, 
            null, 
            out addWebReferenceResult, 
            out cancelled);
    }

    if (addWebReferenceResult != null && cancelled == 0)
    {
        return addWebReferenceResult.Save() as IVsWCFReferenceGroup;
    }
    else
    {
         return null;
    }
}

Sécurité .NET Framework

Voir aussi

Référence

IVsAddWebReferenceDlg3 Interface

Microsoft.VisualStudio.WCFReference.Interop, espace de noms