首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    初识visifire图表「建议收藏」

    在使用过jschart之后,觉得对俺们中国人不是很友善,短时间内是不会支持中文,没法用,也就这样就认识了visifire图表,第一次浏览他的网站就被他的华丽迷上了。 从他的网站上download下来,压缩包里面已经包含了samples。 首先必须在自己的机器上面安装微软的siverlight控件,否则你是不能浏览图表的,这个好办,到微软的网站上下载就可以了。 安装好siverlight,再打开samples中的firstchart.htm,你就可以看见那个漂亮的柱状图了。可是一旦你把他发布到你的网站上去,呵呵!!打开这个网页居然是一片空白。 费了老大的劲,才搞定,原来是IIS设置导致visifire的图表显示一片空白。visifire图表要工作,必须要他bin目录下的文件支持,其中有一个visifire2.js比较好理解,因为你的网页文件必须要引用他,其中还有一个SL.Visifire.Charts.xap文件,导致visifire显示空白的原因就在这,因为被IIS咔嚓掉了,我们需要在iis的mime类型中注册 .xap为application。 设置后,再打开网站,效果出来了。 现在可以定定心研究一下他的结构了。 1.首先要引入这个js文件:<script type=”text/javascript” src=”Visifire2.js”></script> 2.声明一个div层作为容器:

    3.生成图表 var vChart = new Visifire2(“SL.Visifire.Charts.xap ” , 500 , 300 ); vChart.setDataXml(chartXmlString); vChart.render(“VisifireChart”); 基本上和我前面提到的jschart差不多。其中最重要的就是 chartxmlstring,这个就是我们要表现的数据,下面是这个图表例子中的数据,采用xml语言规范,抽象出结构为: <vc:chart> <vc:chart.titles> <vc:title text=”图表的标题”/> </vc:chart.titles> <vc:chart.axesx> <vc:axis title=”x轴标签”/> <vc:chart.axesy> <vc:axis title=”y轴标签”/> </vc:chart.axesy> <vc:dataseries renderas=”pie” axisytype=”primary”> <vc:DataSeries.DataPoints> <vc:DataPoint AxisXLabel=”xlabel标记” YValue=”Y轴值” /> <vc:DataPoint AxisXLabel=”xlabel标记” YValue=”Y轴值” /> </vc:dataseries.datapoints> </vc:dataseries> </vc:chart> 了解了他的数据结构,我们做一个图表就简单了,需要修改的就是 <vc:DataPoint AxisXLabel=”xlabel标记” YValue=”Y轴值” />这里.我们大多数情况的时候都是从数据库中调取数据,那如何处理呢! visifire chart的帮助文档里面有一个实例文件,不过感觉不是很很好. 我希望的结果应该是 varchar.setdataxml(xml.xml),里面是一个xml文件,或者是一个动态程序文件.前几天使用jschart,可以这样使用的,也不知道visifire可不可行. 图表样式很多,其实好多参数我们根本不用去记,只需要到他的网站上进入设计界面,即可以来个所见即所得的图表,然后将代码拷贝过来就可以了,绝对傻瓜式. 以前用过dundas的图表控件,觉得效果不错,但是现在一用visifire,觉得好像更好些。

    02

    w3wp占用CPU过高

    判定方法: 1 在任务管理器中增加显示 pid 字段。就可以看到占用内存或者 cpu 最高的进程 pid ! 2 在命令提示符下运行 iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到 pid 对应的应用程序池。 3 到 iis 中察看该应用程序池对应的网站就可以了!然后真对站点排除错误!(如果运行后出现 error - no no results 这样的提示,说明你的站点没有开启或还没有被访问过!) 解决方法: 1 尝试删除系统路径\System32\Logfiles\W3SVC1 下当天的错误日志文件,如:ex060904.log,然后重新启动IIS,等待一段时间,看看有没有问题。 注:有时非法重启或者写入日志错误都有可能造成 w3wp.exe 进程锁死。 2 设置应用程序池的CPU监视,不超过25%,每分钟刷新,超过限制时自动关闭。 注:此方法只能用来做为测试,在真正的环境下,这个可能会引起网站时好时坏。不推荐长期使用。 3 检查你的程序代码,或者网页调用,程序没写好或者有死循环,是最容易造成 w3wp.exe 锁死的。 注:方法是先停止IIS,再删除当天的网站日志(系统路径\System32\Logfiles\对应的网站目录下),然后开启IIS,等待CPU高占用的出现,这时在1分钟内打开新建的日志文件,按出现时间,对应检查里面所罗列出现的文件,检查代码是否有问题。 4 检查数据库完整性和 ODBC 的有效性。 注:有些写得不好的 ASP 程序,在访问数据库无法做到容错性,所以有些时候数据库损坏或者 ODBC 传送数据不正常,都有可能造成多次强制查询,从而体现为 w3wp.exe 高 CPU 占用。 5 检查文件的权限。 注:不要奇怪,某些时候真的出现这种事情,一个文件无法写入或者无法读取,都会引起很大的问题。 ---------------------------- 以上才是真正的解决手段和方法,网上流传的资料,不是很让人满意。 就我自己网站来说吧,原因在于 LinPHA 这个相册系统,不知道为什么,这个系统,在收到非标准的搜索 search 代码时,就会出现变量无法赋值的问题。 在调试的时候,我就发现了,Google Bot 在搜索时,能准确的识别出我的语言代码页,搜索所赋值的变量数值合法,所以不出问题。 而遇到 Baidu 蜘蛛时却就有意外发生了,因为 Baidu 本身不认 Unicode 代码,所以他会将你的代码页当成 GBK 来搜索,自然在 Unicode 的搜索页里就出现赋值不是合法数值的问题,然后导致运算出错,最后把w3wp.exe 锁死,等90秒或者更长时间,系统强制回收变量时,才能自动恢复。 这就是前段时间,本站访问不正常的根本原因。

    02
    领券