IVsAddWebReferenceDlg3.ShowAddWebReferenceDialog 方法

显示 添加服务引用 对话框。

命名空间:  Microsoft.VisualStudio.WCFReference.Interop
程序集:  Microsoft.VisualStudio.WCFReference.Interop(在 Microsoft.VisualStudio.WCFReference.Interop.dll 中)

语法

声明
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
)

参数

  • pProject
    类型:IVsHierarchy

    引用要添加的项的 IVsHierarchy

  • pDiscoverySession
    类型:IDiscoverySession

    使用的 IVsDiscoveryService 会话用于下载元数据。

  • pszDialogName
    类型:String

    包含对话框的标题中 String 。 可以为 Null。

  • pszReferenceConfigContents
    类型:String

    String 包含的配置内容。

  • pfCancelled
    类型:Int32%

    指定是否对话框的 Integer 已被取消。

备注

添加服务引用 对话框允许用户指定元数据下载地址,下载服务元数据,并显示服务的信息。

如果元数据下载的服务成功,并且用户通过单击 关闭对话框,服务 (例如项目系统) 的使用者应调用返回的 IVsAddWebReferenceResult 对象的 Save 方法。 这会导致新的 WCF 引用添加到要生成的项目和服务代理。 还可以缓存 IVsAddWebReferenceResult 对象,并用于创建服务后引用。

ShowAddWebReferenceDialog 立即失败,如果项目不支持存储服务,或者该项的 VSPROPID_ServiceReferenceSupported 属性不为 true。

示例

下面的示例演示如何 添加服务引用 对话框。

/// 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;
    }
}

.NET Framework 安全性

请参阅

参考

IVsAddWebReferenceDlg3 接口

Microsoft.VisualStudio.WCFReference.Interop 命名空间