IVsAddWebReferenceDlg3.ShowAddWebReferenceDialog 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
显示 "添加服务引用" 对话框。
public:
void ShowAddWebReferenceDialog(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pProject, Microsoft::VisualStudio::Shell::Interop::IDiscoverySession ^ pDiscoverySession, Microsoft::VisualStudio::WCFReference::Interop::ServiceReferenceType referenceTypesAllowed, System::String ^ pszDialogName, Microsoft::VisualStudio::WCFReference::Interop::IVsWCFReferenceGroup ^ pExistingReferenceGroup, System::String ^ pszReferenceConfigContents, [Runtime::InteropServices::Out] Microsoft::VisualStudio::WCFReference::Interop::IVsAddWebReferenceResult ^ % ppReferenceResult, [Runtime::InteropServices::Out] int % pfCancelled);
void ShowAddWebReferenceDialog(Microsoft::VisualStudio::Shell::Interop::IVsHierarchy const & pProject, Microsoft::VisualStudio::Shell::Interop::IDiscoverySession const & pDiscoverySession, Microsoft::VisualStudio::WCFReference::Interop::ServiceReferenceType referenceTypesAllowed, std::wstring const & pszDialogName, Microsoft::VisualStudio::WCFReference::Interop::IVsWCFReferenceGroup const & pExistingReferenceGroup, std::wstring const & pszReferenceConfigContents, [Runtime::InteropServices::Out] Microsoft::VisualStudio::WCFReference::Interop::IVsAddWebReferenceResult const & & ppReferenceResult, [Runtime::InteropServices::Out] int & pfCancelled);
public void ShowAddWebReferenceDialog (Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pProject, Microsoft.VisualStudio.Shell.Interop.IDiscoverySession pDiscoverySession, Microsoft.VisualStudio.WCFReference.Interop.ServiceReferenceType referenceTypesAllowed, string pszDialogName, Microsoft.VisualStudio.WCFReference.Interop.IVsWCFReferenceGroup pExistingReferenceGroup, string pszReferenceConfigContents, out Microsoft.VisualStudio.WCFReference.Interop.IVsAddWebReferenceResult ppReferenceResult, out int pfCancelled);
abstract member ShowAddWebReferenceDialog : Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * Microsoft.VisualStudio.Shell.Interop.IDiscoverySession * Microsoft.VisualStudio.WCFReference.Interop.ServiceReferenceType * string * Microsoft.VisualStudio.WCFReference.Interop.IVsWCFReferenceGroup * string * IVsAddWebReferenceResult * int -> unit
Public Sub ShowAddWebReferenceDialog (pProject As IVsHierarchy, pDiscoverySession As IDiscoverySession, referenceTypesAllowed As ServiceReferenceType, pszDialogName As String, pExistingReferenceGroup As IVsWCFReferenceGroup, pszReferenceConfigContents As String, ByRef ppReferenceResult As IVsAddWebReferenceResult, ByRef pfCancelled As Integer)
参数
- pProject
- IVsHierarchy
项目的,将在该 IVsHierarchy 项目中添加引用。
- pDiscoverySession
- IDiscoverySession
IVsDiscoveryService要用于元数据下载的会话。
- referenceTypesAllowed
- ServiceReferenceType
引用的,或者 ServiceReferenceType Windows Communication Foundation (WCF) 或使用 ASP.NET 的 Web 服务 (.asmx) 。
- pExistingReferenceGroup
- IVsWCFReferenceGroup
现有 IVsWCFReferenceGroup。 可以为 Null。
- ppReferenceResult
- IVsAddWebReferenceResult
一个 IVsAddWebReferenceResult 包含结果的对象。 如果已取消此对话框,则可以为 Null。
- pfCancelled
- Int32
一个整数,它指定对话框是否已取消。
示例
下面的示例演示如何显示 " 添加服务引用 " 对话框。
/// 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;
}
}
注解
" 添加服务引用 " 对话框允许用户指定元数据下载地址、下载服务元数据,并显示有关服务的信息。
如果成功下载服务元数据,并且用户通过单击 "确定" 关闭对话框,则该服务的使用者 (例如,项目系统) 应调用 Save 返回对象的方法 IVsAddWebReferenceResult 。 这会将新的 WCF 引用添加到项目和要生成的服务代理。 IVsAddWebReferenceResult还可以缓存对象并将其用于稍后创建服务引用。
ShowAddWebReferenceDialog 如果项目不支持存储服务,或 VSPROPID_ServiceReferenceSupported 项目的属性不为 true,则会立即失败。