2016-10-03 92 views
0

使用我的公网IP 151.253.XX使用公共IP

我的代码有专用的内部IP本地Windows服务器上的Web服务器172.22.XX 我想通过SOAP进行通信和外部服务器发送SOAP请求是在C#中,我的问题在于,我的请求将与我的私有IP一起外出,因为我的外部服务器只能从我的外部IP接收消息。

如何发送/接收来自我的外部IP的请求?

+0

如何使用HttpWebRequest发送SOAP请求? – Evk

+0

使用SoapHttpClientProtocol – Halim

回答

0

随着SoapHttpClientProtocol,我想(没有检查),你可以执行以下操作:从它继承(或任何类从它继承,如果您有它的话),并覆盖GetWebRequest方法,像这样:

public class MyProtocol : SoapHttpClientProtocol { 
    protected override WebRequest GetWebRequest(Uri uri) { 
     var request = (HttpWebRequest) base.GetWebRequest(uri); 
     request.ServicePoint.BindIPEndPointDelegate += (servicePoint, remoteEndPoint, retryCount) => { 
      return new IPEndPoint(IPAddress.Parse("your external id here"), 0); 
     }; 
     return request; 
    } 
}