WCF错误及处理记录

1. 错误信息:{"HTTP 无法注册 URL http://+/Temporary_Listen_Addresses/a4db1461-55c6-4ce5-be25-f41b88877434/,因为另一应用程序正在使用 TCP 端口 80。"}

    产生的环境:使用双工协定的时候。调用客户端的回调方法。

    解决方法:第一种就是将客户端的80端口的服务修改为别的端口。

                  第二种就是在客户端的代码中设置ClientBaseAddress地址,

                     代码如下:

ExpandedBlockStart.gif 代码
DumplexService.IDuplexSampleCallback clent  =   new  ClientCallback();

                DumplexService.DuplexSampleClient duplexClient 
=   new  WebTest.DumplexService.DuplexSampleClient( new  System.ServiceModel.InstanceContext(clent));

                WSDualHttpBinding ws 
=  (WSDualHttpBinding)duplexClient.Endpoint.Binding;
                ws.ClientBaseAddress 
=   new  Uri( " http://localhost:8212/ " );

                第三种,在配置文件中设置

ExpandedBlockStart.gif 代码
< wsDualHttpBinding  >
                
< binding  name ="MyWCFStudy.MyDuplexSet"  clientBaseAddress =http://localhost:8212/>
                    
<security mode ="Message" ></ security >
                
</ binding >
            
</ wsDualHttpBinding >

 2.错误信息:此操作将死锁,因为在当前邮件完成处理以前无法收到答复。如果要允许无序的邮件处理,则在 ServiceBehaviorAttribute 上指定可重输入的或多个    ConcurrencyMode

   产生的环境:双工协定中。

   解决方法:在服务端实现契约的类指定ServiceBehaviorAttribute的ConcurrencyMode为Multiple。

                 在该类名上增加[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]即可。

 

转载于:https://www.cnblogs.com/oldhorse/archive/2009/12/16/1625870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值