IVsWCFReferenceEvents 接口

windows communication foundation (WCF) 服务将引发事件引用。

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

语法

声明
<GuidAttribute("729D5091-E77F-4D0B-B03A-2310AD58DDC2")> _
<InterfaceTypeAttribute()> _
Public Interface IVsWCFReferenceEvents
[GuidAttribute("729D5091-E77F-4D0B-B03A-2310AD58DDC2")]
[InterfaceTypeAttribute()]
public interface IVsWCFReferenceEvents
[GuidAttribute(L"729D5091-E77F-4D0B-B03A-2310AD58DDC2")]
[InterfaceTypeAttribute()]
public interface class IVsWCFReferenceEvents
[<GuidAttribute("729D5091-E77F-4D0B-B03A-2310AD58DDC2")>]
[<InterfaceTypeAttribute()>]
type IVsWCFReferenceEvents =  interface end
public interface IVsWCFReferenceEvents

IVsWCFReferenceEvents 类型公开以下成员。

方法

  名称 说明
公共方法 OnConfigurationChanged 引发 ConfigurationChanged 事件。
公共方法 OnMetadataChanged 引发 MetaDataChanged 事件。
公共方法 OnMetadataChanging 引发 MetaDataChanged 事件。
公共方法 OnReferenceGroupCollectionChanged 引发事件,新引用添加之后或现有引用被删除。
公共方法 OnReferenceGroupCollectionChanging 引发事件,新引用添加之后或现有引用被删除。
公共方法 OnReferenceGroupPropertiesChanged 引发事件随后引用的属性组 (包括名称、命名空间、代理生成选项和 URL) 特定的引用组更改。
公共方法 OnReferenceGroupPropertiesChanging 引发事件之前引用的属性组 (包括名称、命名空间、代理生成选项和 URL) 特定的引用组更改。

页首

示例

下面的示例演示类处理 WCF 服务引用事件。

/// Listens to referenceGroup events and notifies the controller of the events.
class ReferenceEventsListener : WCF.IVsWCFReferenceEvents, IDisposable
{
    private IExplorerController controller;
    private WCF.IVsWCFReferenceManager referenceManager;
    private uint cookie;
    private bool hasCookie = false;

    public ReferenceEventsListener(IExplorerController controller,
  WCF.IVsWCFReferenceManager referenceManager)
    {
        this.controller = controller;
        this.referenceManager = referenceManager;
        referenceManager.AdviseWCFReferenceEvents(this, out cookie);
            Debug.Assert(cookie != 0);
            hasCookie = true;
        }
    void WCF.IVsWCFReferenceEvents.OnMetadataChanged
 (WCF.IVsWCFReferenceGroup pReferenceGroup)
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFired, "IVsWCFReferenceEvents.OnMetadataChanged",
 pReferenceGroup.GetName()));
        controller.Update();
    }
    void WCF.IVsWCFReferenceEvents.OnMetadataChanging
 (WCF.IVsWCFReferenceGroup pReferenceGroup)
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFired, "IVsWCFReferenceEvents.OnMetadataChanging",
 pReferenceGroup.GetName()));
    }
    void WCF.IVsWCFReferenceEvents.OnReferenceGroupPropertiesChanged
 (WCF.IVsWCFReferenceGroup pReferenceGroup)
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFired,
 "IVsWCFReferenceEvents.OnReferenceGroupPropertiesChanged",
 pReferenceGroup.GetName()));
        controller.Update();
    }
    void WCF.IVsWCFReferenceEvents.OnReferenceGroupPropertiesChanging
 (WCF.IVsWCFReferenceGroup pReferenceGroup)
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFired,\"IVsWCFReferenceEvents.
 ReferenceGroupPropertiesChanging", pReferenceGroup.GetName())); 
    }
        void WCF.IVsWCFReferenceEvents.OnConfigurationChanged()
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFiredGeneric,
 "IVsWCFReferenceEvents.OnConfigurationChanged"));
        controller.Update();
    }
    void WCF.IVsWCFReferenceEvents.OnReferenceGroupCollectionChanged()
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFiredGeneric,
 "IVsWCFReferenceEvents.OnReferenceGroupCollectionChanged"));
        controller.Update();
    }
    void WCF.IVsWCFReferenceEvents.OnReferenceGroupCollectionChanging()
    {
        controller.Log(String.Format(CultureInfo.InvariantCulture,
 Resources.LogEventFiredGeneric,
 "IVsWCFReferenceEvents.OnReferenceGroupCollectionChanging"));
    }
}

请参阅

参考

Microsoft.VisualStudio.WCFReference.Interop 命名空间