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