共用方式為


IVsWCFMetadataStorageProvider 介面

提供介面將 Windows 通訊資格服務中繼資料儲存在專案系統中。

命名空間:  Microsoft.VisualStudio.WCFReference.Interop
組件:  Microsoft.VisualStudio.WCFReference.Interop (在 Microsoft.VisualStudio.WCFReference.Interop.dll 中)

語法

'宣告
<GuidAttribute("F71D2B05-680F-423B-B00F-52A2944AC45C")> _
<InterfaceTypeAttribute()> _
Public Interface IVsWCFMetadataStorageProvider
[GuidAttribute("F71D2B05-680F-423B-B00F-52A2944AC45C")]
[InterfaceTypeAttribute()]
public interface IVsWCFMetadataStorageProvider
[GuidAttribute(L"F71D2B05-680F-423B-B00F-52A2944AC45C")]
[InterfaceTypeAttribute()]
public interface class IVsWCFMetadataStorageProvider
[<GuidAttribute("F71D2B05-680F-423B-B00F-52A2944AC45C")>]
[<InterfaceTypeAttribute()>]
type IVsWCFMetadataStorageProvider =  interface end
public interface IVsWCFMetadataStorageProvider

IVsWCFMetadataStorageProvider 類型會公開下列成員。

方法

  名稱 描述
公用方法 AdviseWCFMetadataStorageProviderEvents 註冊中繼資料存放區提供者事件通知呼叫的端。
公用方法 CreateStorage 建立新的 Windows 通訊資格中繼資料存放區。
公用方法 GetStorageFromMapFile 傳回.svcmap 檔案的完整路徑為基礎的 Windows 通訊資格中繼資料存放區。
公用方法 GetStorages 列舉在專案中的 Windows 通訊資格中繼資料儲存區。
公用方法 IsValidNewReferenceName 傳回值,判斷是否是唯一的 Windows 通訊資格服務參考的名稱。
公用方法 MakeValidReferenceName 傳回唯一的名稱與 Windows 通訊資格服務參考的命名空間。
公用方法 UnadviseWCFMetadataStorageProviderEvents 取消註冊的中繼資料存放區提供者事件通知。

回頁首

備註

專案系統必須實作這個介面。 呼叫此介面,建立新的存放裝置,來儲存服務參考群組,或模擬專案中的現有儲存區。

專案系統必須決定正確的目錄結構來儲存它的中繼資料。

範例

下列範例會使用IVsWCFMetadataStorageProvider介面,以判斷專案是否支援 WCF 服務參考。

/// Helper method to determine if WCF ServiceReferences are
/// supported by the given hierarchy.
private static bool
 ServiceReferencesSupported(IVsWCFReferenceManagerFactory factory,
 IVsHierarchy hierarchy)
{
    if (hierarchy != null)
    {

        // Try to see if Reference Manager Factory supports it. 
        if
 (!Convert.ToBoolean(factory.IsReferenceManagerSupported(hierarchy)))
        {
            return false;
        }
        /// If factory supports, then ask Hierarchy. They both need to 
        /// support it.
        if ((hierarchy as IVsWCFMetadataStorageProvider) != null)
        {
            try
            {
                object objIsServiceReferenceSupported;
                ErrorHandler.ThrowOnFailure(hierarchy.GetProperty
 (Microsoft.VisualStudio.VSConstants.VSITEMID_ROOT,
 (int)__VSHPROPID3.VSHPROPID_ServiceReferenceSupported,
 out objIsServiceReferenceSupported));
                if (objIsServiceReferenceSupported != null &&
 objIsServiceReferenceSupported is bool)
                {
                    return (bool)objIsServiceReferenceSupported;
                }
            }
            catch (NotImplementedException)
            {
                // If the property isn't implemented in the current 
                // project system, then we know that
                // service references aren't supported.
            }
        }
    }
    return false;
}

請參閱

參考

Microsoft.VisualStudio.WCFReference.Interop 命名空間