显示 添加服务引用 对话框。
命名空间: 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 会话用于下载元数据。
referenceTypesAllowed
类型:Microsoft.VisualStudio.WCFReference.Interop.ServiceReferenceType引用的 ServiceReferenceType ;或 windows communication foundation (WCF) 或 web services (asmx) 该使用 ASP.NET。
pszDialogName
类型:String包含对话框的标题中 String 。 可以为 Null。
pExistingReferenceGroup
类型:Microsoft.VisualStudio.WCFReference.Interop.IVsWCFReferenceGroup现有 IVsWCFReferenceGroup。 可以为 Null。
pszReferenceConfigContents
类型:StringString 包含的配置内容。
ppReferenceResult
类型:Microsoft.VisualStudio.WCFReference.Interop.IVsAddWebReferenceResult%包含结果的 IVsAddWebReferenceResult 对象。 ,如果对话框已取消,可以是 Null 。
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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。