我创建了一个SoapExtension类来捕获特定Web服务调用的soap请求和响应.为了使这个SoapExtension生效,我必须在生成的代理客户端中为方法添加一个属性.
例如,我已将AuditSoapCapture属性添加到此方法:
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://blahblah.com/webservices/AddressSearch", RequestNamespace = "http://blahblah.com/webservices/", ResponseNamespace = "http://blahblah.com/webservices/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] [blahblah.TriadLite.Core.AuditSoapCapture] public System.Data.DataSet AddressSearch(string HouseNumber, string StreetName, string ZipCode) { object[] results = this.Invoke("AddressSearch", new object[] { HouseNumber, StreetName, ZipCode}); return ((System.Data.DataSet)(results[0])); }
我正在寻找一种方法将此属性添加到特定方法而不修改生成的客户端代理,因为它们将在重新生成时丢失.我可以在另一个部分类或接口或其他方式中执行此操作吗?
谢谢!