博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
highcharts的.net本地导出环境安装记录
阅读量:4582 次
发布时间:2019-06-09

本文共 3248 字,大约阅读时间需要 10 分钟。

由于项目中需要内网使用,需要本地搭建导出的环境。下面简述下步骤:

1.下载开源的导出文件:

2.新建虚拟站点,IIS下配置如图:(注意端口设定:80端口已经用了,就设定为8081;应用池的设定,仅支持framework3.5以上版本)

3.拷贝下载的压缩包中的Exporting_Demo_website文件夹下的文件到新站点的目录下。删除目录下的web.config文件,重命名web-dotNET4.0.config为web.config。(不需要Exporting_Demo_website这个文件夹,文件放在根目录下即可,否则后面的操作全部要加上这个路径)

4.打开站点http://localhost:8081/访问,内置一个Demo,选择导出,看是否正常。正常即完成。不正常就需要修正了。

访问Demo时出现500错误?

打开IIS管理器,选择“ISAPI和CGI限制”,里面找到我们上面设置的framework的版本,设定为允许。

关于未选中的数据线导出时依然显示的BUG

BUG描述及修复,请参见

需要修改的地方是在Exporter.cs的CreateSvgDocument方法

private SvgDocument CreateSvgDocument()    {      SvgDocument svgDoc;      XmlDocument xml = new XmlDocument();      xml.LoadXml(this.Svg);      XmlNodeList nodeListAllg = xml.GetElementsByTagName("g");      Dictionary
dic = new Dictionary
(); int i = 0; foreach (XmlNode xNod in nodeListAllg) { i++; XmlNode xmlvisibility = xNod.Attributes.GetNamedItem("class"); if (xmlvisibility != null && xmlvisibility.Value == "highcharts-series-group") { foreach (XmlNode xNod2 in xNod.ChildNodes) { i++; XmlNode xmlvisibility1 = xNod2.Attributes.GetNamedItem("visibility"); if (xmlvisibility1 != null && xmlvisibility1.Value == "hidden") { XmlNode[,] xmln = new XmlNode[1, 2]; xmln[0, 0] = xNod; xmln[0, 1] = xNod2; dic.Add(i, xmln); } } } else if (xmlvisibility != null && xmlvisibility.Value == "highcharts-tooltip") { XmlNode[,] xmln = new XmlNode[1, 2]; xmln[0, 0] = xml.FirstChild; xmln[0, 1] = xNod; dic.Add(i, xmln); } } foreach (KeyValuePair
a in dic) { a.Value[0, 0].RemoveChild(a.Value[0, 1]); } this.Svg = xml.OuterXml; // Create a MemoryStream from SVG string. using (MemoryStream streamSvg = new MemoryStream( Encoding.UTF8.GetBytes(this.Svg))) { // Create and return SvgDocument from stream. svgDoc = SvgDocument.Open(streamSvg); } // Scale SVG document to requested width. svgDoc.Transforms = new SvgTransformCollection(); float scalar = (float)this.Width / (float)svgDoc.Width; svgDoc.Transforms.Add(new SvgScale(scalar, scalar)); svgDoc.Width = new SvgUnit(svgDoc.Width.Type, svgDoc.Width * scalar); svgDoc.Height = new SvgUnit(svgDoc.Height.Type, svgDoc.Height * scalar); return svgDoc; }

  

注意:复制上面博客中的代码时,需要在项目中引入相关的文件,如图

这里我已经生成,没有环境的朋友可以直接到这里下载:(下载后直接把Bin目录下的4个文件覆盖掉项目Bin文件夹下的4个文件)

生成时出现“不是标准win32文件”

菜单栏—工具—导入与导出设置—重置所有设置—下一步。完成后重新生成,依然无效,只有重启电脑(我是重启电脑解决的)。

外部调用地址

在你的文档里面增加设定,width为必须项,否则报错

exporting: {                url: 'http://localhost:8081/HighchartsExport.axd',                filename: 'MyChartX',                width: 1200//必选参数            }

  

win2003 server配置时出现500错误

注意开启IIS的写权限,因为的导出代码可能较大,所以导出使用的是上传文件流的方式,具体可参考exporting.src.js源码。另外在正式服中配置时特别注意端口冲突及framework的版本问题(如果选择4.0以上版本,需要修改web.config,上面有提到),建议先找个win2003的测试服试试!

本文固定链接: 

转载于:https://www.cnblogs.com/ziye/p/3459289.html

你可能感兴趣的文章
凹凸贴图与法线贴图
查看>>
sqlserver跨服务器数据库sql语句
查看>>
设计模式-结构型模式,外观模式(6)
查看>>
Trie模版
查看>>
2018HDU多校训练-3-Problem F. Grab The Tree
查看>>
2016012032四则运算网页版结对项目报告
查看>>
淘宝专业版改基础版方法
查看>>
[转]ARM Pipeline
查看>>
[转]Blocking Code Injection on iOS and OS X
查看>>
颜色分类函数
查看>>
(中等) HDU 4725 The Shortest Path in Nya Graph,Dijkstra+加点。
查看>>
sort-归并排序
查看>>
django 快速实现完整登录系统(cookie)
查看>>
使用 PHP 获得网页内容 GET方式
查看>>
TJU Problem 2857 Digit Sorting
查看>>
C# 修饰符
查看>>
java中使用session的一些细节
查看>>
浏览器输入服务器端口号来访问html网页
查看>>
hdu 6435 CSGO(最大曼哈顿距离)
查看>>
logback框架之——日志分割所带来的潜在问题
查看>>