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