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



相关文章
|
安全 网络安全 流计算
修改代码以确保对SSL和HTTP异常的正确处理。
记得,在海上和代码世界里,风暴总是突如其来。但只要你的代码准备妥当,合理地处理SSL和HTTP异常,你的小船就能安全航行,最终到达它的目的地。
316 12
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
安全 Java 应用服务中间件
如何将Spring Boot应用程序运行到自定义端口
如何将Spring Boot应用程序运行到自定义端口
1884 0
|
人工智能 Serverless API
函数计算产品使用问题之如何在一个Docker容器内运行一个持续监听特定端口的应用程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
574 1
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
642 5
|
运维 安全 网络协议
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
运维.索引引擎ElasticSearch.记录一个小异常:received plaintext http traffic on an https channel
1405 0
|
网络协议 安全 网络性能优化
HTTP、HTTPS和TCP的特点和三者的区别
TCP提供连接、可靠性、流量和拥塞控制,HTTP基于请求-响应模型且无连接、无状态,HTTPS则通过数字证书确保服务器身份验证和加密通信。
|
存储 分布式计算 大数据
MaxCompute操作报错合集之通过UDF调用异常(其他使用http调用正常)。报错:java.lang.NoSuchMethodError:是什么导致的
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
368 0
|
JSON 应用服务中间件 API
同一端口同一方法提供grpc和http流量支持
以上方法可以让你在同一端口上同时支持gRPC和HTTP流量。具体的选择取决于你的项目需求和技术架构。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
581 0
|
存储 安全 网络安全
HTTP与HTTPS的区别:安全性、协议地址和默认端口等比较
HTTP与HTTPS的区别:安全性、协议地址和默认端口等比较
1316 0