在 aws 自动生成的代理中设置 Http Header
Set HttpHeader in ews autogenerated proxy
Im 运行 Exchange 同步应用程序,在使用 Exchange2010 构建的 .NET 中具有自动生成的代理 Class。
现在,我需要设置 HttpHeaders:
service.HttpHeaders.Add("X-AnchorMailbox", Mailbox.SMTPAddress);
service.HttpHeaders.Add("X-PreferServerAffinity", "true");
就像这里描述的那样:
Maintain affinity in exchange
但它指的是 EWS Managed API,我在我的 ExchangeServiceBindingObject
中找不到这个 属性。那么如何在我的自动生成的代理中设置这个 header?
我会尝试使用 EWS Managed Api 而不是尝试自己动手。如果那不是一个选项,您可以通过覆盖 ExchangeServiceBinding 上生成的 GetWebRequest 方法来添加 httpheaders 以到达 headers,如下所示:
public class ExchangeServiceBindingWithHeaders : EwsProxy.ExchangeServiceBinding
{
private NameValueCollection _customHeaders = new NameValueCollection();
public void AddHeaders(string key, string value)
{
_customHeaders.Add(key, value);
}
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest req = (HttpWebRequest)base.GetWebRequest(uri);
req.Headers.Add(_customHeaders);
return req;
}
}
然后可以调用新派生的class添加自定义headers:
ExchangeServiceBindingWithHeaders service = new ExchangeServiceBindingWithHeaders();
service.RequestServerVersionValue = new RequestServerVersion();
service.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2010;
service.Credentials = new NetworkCredential("<username>", "<password>", "<domain>");
service.Url = @"https://<FQDN>/EWS/Exchange.asmx";
service.AddHeaders("X-AnchorMailbox", "some@emailaddress.com");
service.AddHeaders("X-PreferServerAffinity", "true");
Im 运行 Exchange 同步应用程序,在使用 Exchange2010 构建的 .NET 中具有自动生成的代理 Class。
现在,我需要设置 HttpHeaders:
service.HttpHeaders.Add("X-AnchorMailbox", Mailbox.SMTPAddress);
service.HttpHeaders.Add("X-PreferServerAffinity", "true");
就像这里描述的那样: Maintain affinity in exchange
但它指的是 EWS Managed API,我在我的 ExchangeServiceBindingObject
中找不到这个 属性。那么如何在我的自动生成的代理中设置这个 header?
我会尝试使用 EWS Managed Api 而不是尝试自己动手。如果那不是一个选项,您可以通过覆盖 ExchangeServiceBinding 上生成的 GetWebRequest 方法来添加 httpheaders 以到达 headers,如下所示:
public class ExchangeServiceBindingWithHeaders : EwsProxy.ExchangeServiceBinding
{
private NameValueCollection _customHeaders = new NameValueCollection();
public void AddHeaders(string key, string value)
{
_customHeaders.Add(key, value);
}
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest req = (HttpWebRequest)base.GetWebRequest(uri);
req.Headers.Add(_customHeaders);
return req;
}
}
然后可以调用新派生的class添加自定义headers:
ExchangeServiceBindingWithHeaders service = new ExchangeServiceBindingWithHeaders();
service.RequestServerVersionValue = new RequestServerVersion();
service.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2010;
service.Credentials = new NetworkCredential("<username>", "<password>", "<domain>");
service.Url = @"https://<FQDN>/EWS/Exchange.asmx";
service.AddHeaders("X-AnchorMailbox", "some@emailaddress.com");
service.AddHeaders("X-PreferServerAffinity", "true");