`

WCF学习五(客户端和服务器时间不一致,导致通道建立失败的问题)

    博客分类:
  • WCF
wcf 
阅读更多

最近,经常有客户反应,前天还用的好好的系统,今天就不能用了。

考虑到系统近来没有做过改动和升级操作,所以从客户的机器环境入手解决,最后发现客户端的日期时间和服务端的日期时间有较大差异,将客户端机器修改成和服务端的日期时间一致后,系统恢复正常。

查了一下资料,原来WCF安全校验通道,在建立时,会将客户端和服务端的时间进行对比,如果差异超过一定范围,通道建立工作就会失败;这个时间范围默认为5分钟,可通过配置进行修改,具体方法可到网上搜索。

另外,客户端为什么用的好好的,突然就不行了,最后检查发现,客户端的机器在同步网络上的时间,这样,在客户端的机器同步了网络时间并且和服务端时间不一致时,系统就会出现异常。

好了,既然发现了问题,那么怎么解决呢,想到的办法有3个:

1.将WCF配置为非安全校验类型,这个风险较大,直接放弃

2.修改配置,将5分钟差异范围增大为30分钟,或更长,如下:

  这个方法带来的问题是,我们必须使用customBinding绑定方式;并且,各个客户端的时间可能不一致,导致业务数据混乱

  <customBinding>

       <binding name="MyCustomBinding">

           <transactionFlow />

           <security authenticationMode="UserNameForSslNegotiated">

               <secureConversationBootstrap>

                   <localClientSettings maxClockSkew="00:30:00" />

                   <localServiceSettings maxClockSkew="00:30:00" />

               </secureConversationBootstrap>

               <localClientSettings maxClockSkew="00:30:00" />

               <localServiceSettings maxClockSkew="00:30:00" />

           </security>

           <textMessageEncoding>

               <readerQuotas maxStringContentLength="500000"/>

           </textMessageEncoding>

           <httpTransport maxReceivedMessageSize="10485760" maxBufferPoolSize="524288" />

       </binding>

   </customBinding>

3.系统自动同步服务端的时间,这样就能解决客户端和服务端时间不一致的问题,并却还能保证各个客户端的时间一致;具体实现方法很多,这里不再赘述。

分享到:
评论

相关推荐

    wcf c# 服务器 客户端 示例

    在这个示例中,我们将探讨如何使用C#语言来实现WCF服务器和客户端的交互。 一、WCF服务端创建 1. 创建服务接口:首先定义一个服务接口,该接口将包含服务要暴露的操作。例如,我们可以创建一个名为`IService`的...

    wcf服务端与客户端的例子

    这个例子中的"AppServer"可能是一个包含WCF服务端实现的项目,下面我们将深入探讨WCF服务端和客户端的实现、交互以及相关知识点。 **一、WCF服务端** 1. **服务宿主**:WCF服务必须在一个宿主环境中运行,常见的...

    基于wcf的客户端和服务器源码实例

    描述中的"基于WCF的客户端和服务器源码实例"进一步确认了这个压缩包包含的实际代码,供开发者学习或参考如何创建和使用WCF服务。 **WCF基础知识** Windows Communication Foundation(WCF)是.NET Framework的一个...

    代码配置WCF服务端和客户端

    **代码配置WCF服务端和客户端** 在C#中,Windows Communication Foundation (WCF) 是一个用于构建分布式应用程序的强大框架,它允许不同的系统之间进行安全、可靠的数据交换。本示例将详细介绍如何通过代码配置来...

    WCF客户端与服务器之间通信

    WCF实现客户端和服务器之间的通信。源代码.希望对你有帮助。

    WCF客户端测试工具,亲测可用

    在开发或维护阶段,这一步骤是必不可少的,因为网络问题可能导致服务不可用或者通信延迟。通过工具进行测试,可以快速定位并解决问题。 “链接WCF”意味着工具支持配置并连接到指定的WCF服务地址,通过输入服务的...

    WCF服务与客户端的调用

    **WCF服务与客户端的调用** Windows Communication Foundation(WCF)是.NET Framework中的一个核心组件,用于构建可互操作的、安全的、可靠的服务。它提供了一种统一的编程模型,可以创建分布式应用程序,使得服务...

    WCF服务器与客户端使用示例文件v0.2(包含全双工模式和调用web中的wcf服务).zip

    **WCF服务器与客户端使用示例文件v0.2** 是一个.NET框架的示例项目,专注于演示如何在**.NET 4.0**环境中利用**Windows Communication Foundation (WCF)**技术实现全双工服务调用。这个示例涵盖了从创建服务到客户端...

    WCF客户端多服务器选择Demo

    功能由来:WCF服务器断开,客户端无法连接将导致错误。 解决:对同一个WCF宿主功能布设在多台服务器上,客户端调用方法前会测试连接服务器,当第一台服务器无法连接时会切换到第二台服务器。当所有服务器无法连接...

    WCF案例客户端服务端

    在这个“WCF案例客户端服务端”中,我们看到一个典型的WCF应用场景,即通过服务端与网页客户端之间的通信,实现消息的发送和接收,同时允许用户在网页端修改弹幕内容。 **WCF服务**是服务端的核心部分,它定义了...

    c# wcf双工通信客户端demo

    通过分析这个示例,我们可以学习如何设置双工通信的通道,如何在服务端调用客户端的方法,以及如何在客户端接收并处理来自服务的通知。这对于开发实时通信应用,如聊天应用、股票交易系统或任何需要即时反馈的场景都...

    android wcf webservice客户端+服务器

    Android WCF Webservice客户端与服务器的交互是移动应用与企业级服务进行数据交换的一种常见方式。Windows Communication Foundation (WCF) 是微软推出的一种面向服务的通信框架,它为构建高度可互操作的分布式应用...

    WCF测试客户端独立版本

    WCF测试客户端,即WcfTestClient.exe,是专为调试和测试WCF服务而设计的工具,它可以方便地帮助开发者调用服务操作并查看返回结果。 在使用WCF测试客户端时,首先确保你的计算机已经安装了相应的.NET框架。这是因为...

    使用WCF实现服务器向客户端的信息推送

    本主题将深入探讨如何使用WCF来实现服务器向客户端的信息推送。 ### WCF简介 WCF是.NET Framework的一部分,它整合了.NET Remoting、Web Services、ASP.NET Web Services和MSMQ等通信技术,提供了一种统一的编程...

    wcf聊天客户端服务器端实例

    总之,WCF聊天客户端服务器端实例是一个极好的学习资源,它涵盖了WCF的核心概念和技术,包括服务定义、服务实现、客户端调用、数据交换以及多用户通信。通过这个实例,开发者可以更好地掌握WCF在实际项目中的应用,...

    WCF服务器端与客户端的操作实例

    Windows Communication Foundation(WCF)是微软.NET框架的一部分,用于构建高度可配置的、安全的、...记住,实践是掌握WCF的关键,尝试创建自己的服务和客户端实例,不断探索和学习,将有助于你成为熟练的WCF开发者。

    wcf同步获取服务器时间

    标题中的“WCF同步获取服务器时间”是指使用Windows Communication Foundation(WCF)技术来实现客户端应用程序从服务器端获取当前时间的功能。WCF是.NET Framework中用于构建分布式应用程序的服务框架,它提供了一...

    WCF服务器与客户端.rar

    在“WCF服务器与客户端.rar”这个压缩包中,我们很可能是找到了一组关于如何设置和交互WCF服务与客户端的资源。下面将详细探讨WCF的关键概念和技术。 1. **服务模型**:WCF的核心在于服务模型,它允许开发者定义...

    wcf实现服务端主动向客户端推送消息

    代码规范清晰。非常适合学习。 wcf实现服务端主动向客户端推送消息

    WCF http绑定服务端 客户端调用

    **WCF(Windows Communication Foundation)**是微软.NET框架下的一种面向服务的通信技术,它提供了一种统一的方式来创建、发布...通过不断学习和实践,开发者能够更好地掌握WCF技术,提升应用程序的灵活性和可扩展性。

Global site tag (gtag.js) - Google Analytics