WCF异常:HTTP 无法注册,另一应用程序正在使用 TCP 端口 80

简介:

今天,调试服务的时候,忽然抛了个异常。异常信息是:"HTTP 无法注册 URL http://+/Temporary_Listen_Addresses/144ff7cb-10a4-4836-b76a-1a516da4ebda/,因为另一应用程序正在使用 TCP 端口 80。"

原来,主要是因为默认80端口已经被其他程序占用。所以WCF服务在设置默认的绑定结点时会抛异常。

解决方法如下:
在客户端代码中设置绑定的地址。代码如下:

 InstanceContext instanceContext = new InstanceContext(new CallbackHandler());
 var client 
= new ServiceReference2.CalculatorClient(instanceContext);
 WSDualHttpBinding ws 
= (WSDualHttpBinding)client.Endpoint.Binding;
 ws.ClientBaseAddress 
= new Uri(http://localhost:30001/);//设定绑定的地址
 Console.WriteLine(
"Press <ENTER> to terminate client once the output is displayed.");
 Console.WriteLine();
 
double value1 = 100.00D;
 client.AddTo(value1);
 client.Clear();
 Console.ReadLine();
 client.Close();

此外,还可以通过更改客户端的服务配置文件,设置绑定的地址来解决。如下:

 <bindings>
      
<wsDualHttpBinding>
        
<binding name="WSDualHttpBinding_ICalculator" closeTimeout="00:01:00" clientBaseAddress="http://localhost:30001/"
            openTimeout
="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            bypassProxyOnLocal
="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
            maxBufferPoolSize
="524288" maxReceivedMessageSize="65536"
            messageEncoding
="Text" textEncoding="utf-8" useDefaultWebProxy="true">
          
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead
="4096" maxNameTableCharCount="16384" />
          
<reliableSession ordered="true" inactivityTimeout="00:10:00" />
          
<security mode="Message">
            
<message clientCredentialType="Windows" negotiateServiceCredential="true"
                algorithmSuite
="Default" />
          
</security>
        
</binding>
      
</wsDualHttpBinding>
 
</bindings>

这样,服务就可以正常了。


    本文转自风车车  博客园博客,原文链接:http://www.cnblogs.com/xray2005/archive/2010/01/13/1646327.html,如需转载请自行联系原作者



相关文章
|
7月前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
396 3
|
7月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
186 3
|
3月前
|
API
已经设置好连接器工厂的HTTP连接器,不会在表单控件里取值应用
这是一个关于通过天眼查API获取企业数据的需求介绍。已实现HTTP连接器调用并成功返回数据,但问题在于如何设计表单:使用单行文本输入企业名称后,触发API查询,将返回的相关数据自动填充到指定的单行文本中,期待高手提供解决方案。
|
9月前
|
安全 网络协议 应用服务中间件
AJP Connector:深入解析及在Apache HTTP Server中的应用
【9月更文挑战第6天】在Java Web应用开发中,Tomcat作为广泛使用的Servlet容器,经常与Apache HTTP Server结合使用,以提供高效、稳定的Web服务。而AJP Connector(Apache JServ Protocol Connector)作为连接Tomcat和Apache HTTP Server的重要桥梁,扮演着至关重要的角色
249 2
|
6月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
133 14
|
7月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
81 5
|
7月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
202 11
|
7月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
7月前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
7月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
121 3