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,如需转载请自行联系原作者



相关文章
|
1月前
|
开发框架 网络协议 Unix
【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别
【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别
40 1
|
21天前
|
网络协议 程序员 应用服务中间件
Swoole与Go系列教程之HTTP服务的应用
PHP 曾是Web开发领域佼佼者,随着业务壮大,异步和高并发方面不足显现。Swoole 曾经尝试填补空白,但局限性也比较的明显。Go 语言的崛起,简洁语法和并发优势吸引大厂使用,吸引了大多数程序员的转型。
977 0
Swoole与Go系列教程之HTTP服务的应用
|
1月前
|
数据采集
http代理IP能开展哪些应用?
在互联网时代,HTTP代理IP广泛应用于营销推广、排名优化和数据采集。对于营销,它帮助企业在社交媒体上切换IP以确保推广活动顺利进行;在排名优化中,代理IP避免了因同一IP多账号操作导致的账号暂停,提升企业产品曝光;在数据采集时,通过不断切换IP,提高数据抓取效率,确保任务的高效执行。
17 2
http代理IP能开展哪些应用?
|
1月前
|
网络协议
tcp套接字和udp套接字可以共用一个端口吗?
tcp套接字和udp套接字可以共用一个端口吗?
15 1
|
18天前
|
网络协议 Linux
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
云服务器内部端口占用,9090端口已经存在了,如何关闭,Linux查询端口,查看端口,端口查询,关闭端口写法-netstat -tuln,​fuser -k 3306/tcp​
|
1月前
|
存储 运维 Serverless
Serverless 应用引擎产品使用合集之使用http异步任务,怎么能很快的根据任务数进行扩缩容
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
网络协议 NoSQL 算法
TCP协议:超时重传、流量控制、keep-alive和端口号,你真的了解吗?
【6月更文挑战第2天】本文探讨了TCP协议的关键机制,包括超时重传计算(基于SRTT和RTT),流量控制(使用滑动窗口适应接收方处理能力),TCP keep-alive(通过定期探测保持连接活性),以及端口号的作用(区分不同服务和应用)。这些内容对于理解TCP的工作原理和面试准备至关重要。
|
25天前
|
网络协议 Linux Shell
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
41 0
|
1月前
|
网络协议 安全 网络性能优化
HTTP、HTTPS和TCP的特点和三者的区别
TCP提供连接、可靠性、流量和拥塞控制,HTTP基于请求-响应模型且无连接、无状态,HTTPS则通过数字证书确保服务器身份验证和加密通信。
|
2月前
|
JavaScript 前端开发
Angular.js 应用里如何发送 HTTP 请求
Angular.js 应用里如何发送 HTTP 请求