我有一个旧应用程序,它使用经典Web服务代理与Java Web服务进行交互。一段时间后,Web Service托管商决定要求为每个请求发送一个自定义HTTP标头以访问该服务 - 否则请求将被彻底抛弃(看起来这是某种路由器要求)。无论我需要在请求中注入自定义HTTP标头的原因是什么。
有没有办法与实际的Http客户端进行交互以执行添加自定义标头的操作?
答案 0 :(得分:20)
您应该可以通过在单独的文件中覆盖部分类中的代理类的GetWebRequest
方法来执行此操作。在调用基类方法之后,您应该可以根据需要修改返回的HttpWebRequest,然后从方法中返回它:
public partial class MyServiceProxy {
protected override WebRequest GetWebRequest(Uri uri) {
HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
// do what you will with request.
return request;
}
}