微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.net的webservice中内外网端口不一致导致无法调用的解决方案

再生产wsdl文件时重写描述文件

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Services.Description;
 6 
 7 namespace StrongSoftManage.Web.App
 8 {
 9     public class SoapExtens : SoapExtensionReflector
10     {
11         public override void ReflectMethod()
12 
13         {
14 
15             //no-op
16 
17         }
18 
19         public override void ReflectDescription()
20 
21         {
22 
23             ServiceDescription description = ReflectionContext.ServiceDescription;
24 
25             foreach (Service service in description.Services)
26 
27             {
28 
29                 foreach (Port port in service.Ports)
30 
31                 {
32 
33                     foreach (ServiceDescriptionFormatExtension extension in port.Extensions)
34 
35                     {
36 
37                         SoapAddressBinding binding = extension as SoapAddressBinding;
38 
39                         if (null != binding)
40                         {
41                             binding.Location = binding.Location.Replace("8080", "9080");
42                         }
43 
44                     }
45 
46                 }
47 
48             }
49         }
50     }
51 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐