本文转载:http://www.cnblogs.com/bcbr/articles/2288374.html 最近,经常有客户反应,前天还用的好好的系统,今天就不能用了. 考虑到系统近来没有做过改动和升级操作,所以从客户的机器环境入手解决,最后发现客户端的日期时间和服务端的日期时间有较大差异,将客户端机器修改成和服务端的日期时间一致后,系统恢复正常. 查了一下资料,原来WCF安全校验通道,在建立时,会将客户端和服务端的时间进行对比,如果差异超过一定范围,通道建立工作就会失败:这个时间范围默认为5…
引出 最近在写一个项目时,要根据时间进行不同的展示,直接用new Date().getTime()获取当前时间,结果就出问题了.有些用户擅自修改自己的本地时间,导致获取到的时间并不是当前时间,尴尬. 思路 既然如此,首先想到的就是让本地时间以服务器的时间为基准,只要让服务器传一个时间戳过来就可以了.那如何实现动态获取时间呢?毕竟不能每次获取时间都到服务器去要吧.一个粗糙的思路,只要知道现在与获取服务器时间过了多久,然后动态的相加就可以了.那如果记录时间差呢? 刚开始我想的是,记录获取服务器时间时…
测试服务器需要做负载均衡,采用的是Nginx+Tomcat. 负载均衡配置成功之后,采用memcached配置session同步.总共4台服务器,三台服务器很顺利的配置成功,最后一台服务器死活不能共享. 这个问题解决的过程很曲折,进行了不限于以下的操作. 重启系统 检查理性配置无数次 重新部署应用 复制正常主机应用到本机 复制正常主机Tomcat到本机 .. 断断续续,加起来搞了至少搞了一天的时间,依然无效果. 应用和应用服务器都一致,基本可以排队是程序的问题,那只能是主机出问题了,我差点想重启…
问题描述: svn提交了一次更新包,到了jenkins提交更新的时候,第一次代码没有生效,然后重新提交了一次,第二次才生效. 问题排查: 1.首先第一反应比对了下两次更新的包文件是否一致,然后发现大小不一. 由此看出问题应该是出在jenkins,继续排查. 2.比对了下第一次jenkins的提交时间与svn提交的时间 由此可看出,svn提交的时间是5:07,但是我jenkins提交的时间却为5:06,显然顺序不对, 但是我操作的时候确实是先提交了svn,再提交了jenkins的. 由此可以确认,…
操作系统:Centos linux6.6 当我们从EMC存储上划分空间同时分配给两台或者多台服务器上时,有的时候会出现在服务器上所生成的磁盘路径是不一致的,这样就会导致盘符名称不一致或者是盘符对应的大小不一致. 我遇到的情况是后者. 我在两台linux服务器上一共划分了7个裸设备.但是在两台机器上出现这种情况: Linux1                                                       Linux2 310G                   /d…
1.打开VS选择控制台项目新建一个解决方案Server,然后添加两个类库Contract和Service. 2.在Contract中添加一个接口IFileDownload using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; namespace Contract { [ServiceContract] public inter…
今天线上项目关于时间的几个任务都出了问题,查看日志发现日志的时间不对,用的是log4j,日志输出的时间都早了很长时间. 1 首先先登上服务器查看了服务器的系统时间 linux下 date命令 时间正确的. 2 浏览网页发现有个硬件时间,系统时间是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的主板硬件时钟.两者或不干扰,项目运行应该取的是系统时间.但还是查看了hwclock,硬件时间确实不对,修改后,重启项目,,,项目的时间还是不对. 3 无奈时,网上有个说法,关于tom…
把时间调成HH:mm格式后,IIS不生成WebResource.axd了,,,从凌晨一点弄到现在......…
错误信息:An error occurred while receiving the HTTP response to http://127.0.0.1/SIHIS/Infection/PubExecuteSQL.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being abo…
某天,运维反馈某两个机房的出口流量和入口流量过大,并且持续了好一段时间. 再仔细排查后发现是 redis 集群的几台服流量问题,于是开始查日志. 在日志中发现出现大量的 Can't handle RDB format version 7 猜想是版本不一致问题,检查后发现确实集群中 redis 的版本不一致,导致由 低版本服务器-主,高版本服务器-从 变为 低版本服务器-从,高版本服务器-主后,低版本无法兼容高版本的 RDB,造成同步失败,然后删除从节点数据,导致不断增量备份. 解决方案是先把低版…
今天优化数据库的慢查询,有一条Sql让我百思不得其jie,就是他了. SELECT * FROM test WHERE user_id=1; 用explain 去分析一下 索引都有了,为什么还要扫描全表呢?类似的情况,有在哪闪现过,就去查看表结构,原来user_id这个字段是字符类型,做个记录,以免日后再犯傻. 以下是用不到索引的几种情况 表字段用的字符串类型,查询的也应该是字符类型 LIKE 查询 对字段进行NULL判断 使用OR关键字查询,使用UNION代替OR…
问题原因是使用的时间不一致导致的.win10直接从bios读出来的时间认为就是实际时间,ubuntu认为加上8个小时 后的才是.win10用的rtc ,ubuntu用的utc 在ubuntu16.04 中 命令 timedatectl 可以查看,具体用法 请输入命令 man  timedatectl 其中解决办法是输入命令: timedatectl set-local-rtc true 修改win10和ubuntu16.04双系统启动顺序 sudo gedit /etc/default/grub…
WCF客户端和服务器端不在同一台机器上时,客户端调用服务器端会报如下错误:"服务器已拒绝客户端凭据". 解决办法:在服务端配置文件与客户端配置文件中加入下面红色部分…
<!doctype html> <html lang="zh-cn"> <head> <meta charset="utf-8" /> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascri…
本文参考自:http://www.cnblogs.com/wangweimutou/p/4414393.html,纯属读书笔记,加深记忆 一.简介 当我们打开WCF基础客户通道,无论是显示打开还是通过调用操作自动打开.使用客户端或者通过对象调用操作,或者关闭基础客户端通道,都会在客户端应用程序中出现异常,WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错误消息处理的类FaultException,WCF客户端可以通过它,来接收服务端传递回来的异常信息. 二.WCF异…
创建WCF 服务客户端应用程序需要执行下列步骤: 获取服务终结点的服务协定.绑定以及地址信息 使用该信息创建 WCF 客户端 调用操作 关闭该 WCF 客户端对象 WCF客户端调用服务存在以下特点: 服务和客户端使用托管属性.接口和方法对协定进行建模. 若要连接客户端应用程序中的服务,则需要获取该服务协定的类型信息.通常,我们使用Svcutil.exe(ServiceModel Metadata Utility Tool)来完成,也可以直接在客户端项目上引用服务地址完成.它们会从服务中下载元数据…
在新一代一期项目非功能测试过程中,我们发现了LoadRunner测试响应时间与客户端实际用户体验时间不一致的现象.例如员工渠道上线后,客户体验时间远远超过了LoadRunner测试响应时间.本文针对这一现象深入研究了导致二者不一致的原因并提供了意见和建议,现与大家分享. 1.用户体验时间 用户通过浏览器访问Web服务器时,体验时间可以细化.如下图所示,体验时间包括用户感应时间.浏览器处理时间.网络传输延时和后端服务器处理时间. 2.LoadRunner单次事务响应时间度量 我们通常将核心业务操作…
使用NIO的一个最大优势就是客户端于服务器自己的不再是阻塞式的,也就意味着服务器无需通过为每个客户端的链接而开启一个线程.而是通过一个叫Selector的轮循器来不断的检测那个Channel有消息处理. 简单来讲,Selector会不断地轮询注册在其上的Channel,如果某个Channel上面有新的TCP连接接入.读和写事件,这个Channel就处于就绪状态,会被Selector轮询出来,然后通过SelectionKey可以获取就绪Channel的Set集合,进行后续的I/O操作. 由于sel…
前言: 在上一篇WCF初探-10:WCF客户端调用服务 中,我详细介绍了WCF客户端调用服务的方法,但是,这些操作都是同步进行的.有时我们需要长时间处理应用程序并得到返回结果,但又不想影响程序后面代码部分的执行,这时我们就需要考虑使用异步的方式来调用服务.注意这里的异步是完全针对客户端而言的,与WCF服务契约的方法是否异步无关,也就是在不改变操作契约的情况下,我们可以用同步或者异步的方式调用WCF服务. WCF客户端异步调用服务方式: 通过代理类异步调用服务.就需要通过使用事件驱动的异步调用模型…
前言: 当我们打开WCF基础客户端通道(无论是通过显式打开还是通过调用操作自动打开).使用客户端或通道对象调用操作,或关闭基础客户端通道时,都会在客户端应用程序中出现异常.而我们知道WCF是基于网络的通讯服务,错误异常也是要基于消息传递的,在WCF中提供了一个错误消息处理的类FaultException.接下来,我们看一下如何使用它在客户端处理异常. WCF异常类型: 意外异常:意外异常包括灾难性故障(如 OutOfMemoryException)和编程错误(如 ArgumentNullExce…
Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字段ishaspic:新添字段时,报错 [SQL] alter table WorkTask add ishaspic int(10) Null;[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it 解决方案:新建…
很久没有写博客了(至少自己感觉很长时间没有写了),没办法啊,楼主也是需要生活的人啊,这段一直都在找工作什么的.(整天催我代码的人,还望多多谅解啊,我会坚持写我们的项目的,还是需要相信我的,毕竟这是一个耗时耗力的事情,需要所有参与者都坚持的事情.) 上面扯淡完毕后,下面进入我们今天的整体.看到这篇博客的题目,估计很多人都会问,这个组件是不是有些显的无聊了,说到web通信,很多人都会想到ASP.NET SignalR,或者Nodejs等等,实现web的网络实时通讯.有关于web实时通信的相关概念问题…
WCF开发实战系列五:创建WCF客户端程序 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在前面的三篇文章中我们分别介绍了WCF服务的三种载体:IIS.Self-Host.Windows Service Host.当WCF编写完成后我们一般要通过这三种方式的一种发布WCF服务,当WCF服务发布后,我们就可以编写客户程序来与服务的终结点进行通信.这篇文章我们主要来介绍如何编写客户程序. 前提:1.事先建立好一个WCF服务2.使用上面任何一种方式发布WCF.在这里我们…
1.创建WCF客户端应用程序需要执行下列步骤 (1).获取服务终结点的服务协定.绑定以及地址信息 (2).使用该信息创建WCF客户端 (3).调用操作 (4).关闭WCF客户端对象 二.操作实例 1.WCF服务层搭建:新建契约层.服务层.和WCF宿主,添加必须的引用(这里不会的参考本人前面的随笔),配置宿主,生成解决方案,打开Host.exe,开启服务.具体的代码如下: ICalculate.cs using System; using System.Collections.Generic; u…
认识cookie 第一部分: 概要 cookie是一种早期使用的客户端存储机制(现在仍在广泛使用),cookie数据会在Web浏览器和Web服务器之间传输, 因为早期cookie是针对服务器脚本设计的,所以服务端脚本可以读.写存储在客户端的cookie的值. 值得注意的是, 任何以cookie形式存储的值,无论服务器端是否需要,每一个HTTP请求都会把这些数据(cookie数据)传输到服务器端.但是cookie的存储量较小,一般不得超过4kb,即4096个字节.由于存储能力较弱,现在比较流行的是…
在一次测试执行过程中,发现服务器TCP发送队列较长,执行netstat -s | grep LISTEN,发现有SYNs包被丢弃,但是没有times the listen queue of a socket overflowed,即有可能是半连接队列溢出. 以下转自:http://blog.chinaunix.net/uid-13776576-id-5780567.html 问题描述: 最近遇到了一个syn丢包的情况,当系统磁盘.网络.cpu都无压力的时候,系统莫名其妙出现“sync to li…
在开发过程中,遇到一个问题,在本地测试成功,发布服务器后,总是 莫名的登录失效. 原因,服务器端代码设置了cookie的过期时间为1天后,而服务器的时间与浏览器端机器时间不一致.导致浏览器判断 cookie已过期. (我的是 chrome浏览器登录成功后,进入主页,又没有通过权限验证,自动重定向到登录页,即表现为谷歌浏览器无法登录的现象,始终在登录页) 修改服务时间后,任然不对:然后,重启IIS服务,还是不对: 解决方案: 方案一.还需要重启Http服务: 方案二.可以重启服务器.…
注:本文收录于<Bug集锦>,请点击此处查看全文目录 BUG起因 先介绍一下背景: 数周前的一个极其平常的下午,完成了本次迭代的开发工作,发布到QA提测,然后开始摸鱼.没几分钟,测试就来找我"麻烦"了:生产者的消息没有发送到RocketMQ的队列中. "简单,看下日志就能定位原因了",心想着,随即打开日志,果然,报错了,可是,这个错误消息,啧啧啧,看不懂啊: NewLife.RocketMQ.Protocol.ResponseException: 1:…
目录: 前言 设计(完成扩展) 实现效果 扩展设计方案 扩展后代码结构 集思广益(问题) 前言: 在上一篇文章我写了如何重建IDbCommandTreeInterceptor来实现创建人.创建时间.更新人.更新时间的统一赋值.看起来会比较复杂,有人提到了重写SaveChanges来实现,这个是很好的建议,确实会更简单些.可我依旧要坚持在IDbCommandTreeInterceptor实现,具体原因吗? 有一些系统要求对实体插入更新时,保存的创建时间.更新时间为数据库服务器时间(getdate(…
Win7+Ubuntu双系统时间不一致 解决方法: 第一种在Windows下进行如下修改: 在 注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\ 下中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1 的键值. 或者 桌面新建->文本文档---复制下面的内容到文本文档-->修改文本文档.txt--->文本文档.cmd-->双击运行--&…