獲取WCF所支持的綁定類型

WCF中定義了很多的綁定類型,其中都定義在System.ServiceModel庫文件的System.ServiceModel名字空間下,並且都以Binding結束。根據這些特點可以通過反射獲取所有的綁定類型。具體實現代碼如下(通過windows控制檯程序實現):

using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Reflection;

namespace WCFBinding
{
    class Program
    {
        static void Main(string[] args)
        {
            Module[] mods = Assembly.LoadWithPartialName("System.ServiceModel").GetModules();            
            foreach (Module mod in mods)
            {
                foreach (Type type in mod.GetTypes())
                {
                    if (type.Name.EndsWith("Binding"))
                    {
                        if (type.IsClass && !type.IsAbstract)
                        {
                            
                            Console.WriteLine(type.Name);
                        }
                    }
                }
            }
        }
    }
}

執行之後的結果爲:

CustomBinding
BasicHttpBinding
BasicHttpContextBinding
NetTcpBinding
NetTcpContextBinding
WSHttpBinding
WSHttpContextBinding
DuplicatedChannelBinding
MsmqIntegrationBinding
ValidationBinding
NetMsmqBinding
NetNamedPipeBinding
NetPeerTcpBinding
WSFederationHttpBinding
WS2007FederationHttpBinding
WS2007HttpBinding
WSDualHttpBinding
請按任意鍵繼續. . .

 

其中有17個綁定類型,不同的機器可能結果會有不同。本運行環境是.NET v4.0.30319

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章