基本信息
源码名称:WCF各种实例代码
源码大小:2.54M
文件格式:.zip
开发语言:C#
更新时间:2015-05-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
WCF各种实例代码

namespace EffectiveWCF
{
    public class myEndpointBehavior : IEndpointBehavior
    {
        string _EvaluationKey;
        string _EvaluationType;
        public myEndpointBehavior(string EvaluationKey, string EvaluationType)
        {
            _EvaluationKey = EvaluationKey;
            _EvaluationType = EvaluationType;
        }

        public void AddBindingParameters(ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
        {
        }

        public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
        {
        }

        public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
        {
        }

        public void Validate(ServiceEndpoint endpoint)
        {
            if ((_EvaluationType == "Enterprise") &
                (_EvaluationKey != "SuperSecretEvaluationKey"))
                    throw new Exception(String.Format("--> Your evaluation key is missing or expired. Type:{0} <--",_EvaluationType));
                else
                    Console.WriteLine("--> Your evaluation key is valid. <--");
        }
    }

    public class myBehaviorExtensionElement : BehaviorExtensionElement
    {

        [ConfigurationProperty("EvaluationKey", DefaultValue = "", IsRequired = true)]
        public string EvaluationKey
        {
            get { return (string)base["EvaluationKey"]; }
            set { base["EvaluationKey"] = value; }
        }
        [ConfigurationProperty("EvaluationType", DefaultValue = "Enterprise", IsRequired = false)]
        public string EvaluationType
        {
            get { return (string)base["EvaluationType"]; }
            set { base["EvaluationType"] = value; }
        }

        public override Type BehaviorType
        {
            get { return typeof(myEndpointBehavior); }
        }

        protected override object CreateBehavior()
        {
            return new myEndpointBehavior(EvaluationKey, EvaluationType);
        }

    }