public bool VerifyIP() { bool r = false; string userip = IPHelper.GetClientIP(); string rangeip = ep.IPRange; if (rangeip.Length > 0) { return(MyVerify.TheIpIsRange(userip, rangeip)); } return(r); }
//这个override的方法会被调用四次 //分别是SoapMessageStage的BeforeSerialize,AfterSerialize,BeforeDeserialize,AfterDeserialize public override void ProcessMessage(SoapMessage message) { if (message.Stage == SoapMessageStage.AfterDeserialize) //反序列化后处理 { if (!VerifyIP()) { string userip = IPHelper.GetClientIP(); string msg = "请求IP(" + userip + ")超出有效范围"; //KYCX.Logging.Logger.DefaultLogger.Error("ProcessMessage()," + msg); throw new SoapHeaderException(msg, SoapException.ClientFaultCode); } } }