Пример #1
0
        private Binding GetBinding(ServiceDescription sd, WfServiceRequestMethod method)
        {
            Binding result = null;

            string reqMethodStr = method.ToString().ToLower();

            foreach (Binding binding in sd.Bindings)
            {
                foreach (var ext in binding.Extensions)
                {
                    var sextension = ext as HttpBinding;
                    if (sextension != null)
                    {
                        if (sextension.Verb.ToLower() == reqMethodStr)
                        {
                            result = binding;
                            break;
                        }
                    }
                    if ((ext is SoapBinding || ext is Soap12Binding) &&
                        method == WfServiceRequestMethod.Soap)
                    {
                        result = binding;
                        break;
                    }
                }
            }

            return(result);
        }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="method"></param>
 /// <param name="credential"></param>
 /// <param name="address"></param>
 /// <param name="contentType"></param>
 public WfServiceAddressDefinition(WfServiceRequestMethod method,
                                   WfNetworkCredential credential, string address, WfServiceContentType contentType)
 {
     this.RequestMethod = method;
     this.Credential    = credential;
     this.Address       = address;
     this.ContentType   = contentType;
 }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="method"></param>
 /// <param name="address"></param>
 /// <param name="contentType"></param>
 public WfServiceAddressDefinition(
     WfServiceRequestMethod method,
     string address,
     WfServiceContentType contentType)
 {
     this.RequestMethod = method;
     this.Address       = address;
     this.ContentType   = contentType;
 }
        /// <summary>
        /// 从配置项初始化
        /// </summary>
        /// <param name="element"></param>
        public void FromConfigurationElement(WfServiceAddressDefinitionConfigurationElement element)
        {
            element.NullCheck("element");

            this.Key           = element.Name;
            this.RequestMethod = element.RequestMethod;
            this.ContentType   = element.ContentType;
            this.ServiceNS     = element.ServiceNS;

            this.Address = element.Uri.ToUriString();

            if (element.Identity != null)
            {
                this.Credential = new WfNetworkCredential(element.Identity.LogOnNameWithoutDomain, element.Identity.Password, element.Identity.Domain);
            }
        }
        public WfServiceOperationDefinition SetAddress(WfServiceRequestMethod method, string address, WfServiceContentType contentType, WfNetworkCredential credential)
        {
            this.AddressDef = new WfServiceAddressDefinition(method, credential, address, contentType);

            return(this);
        }