美文网首页Geomatics(GIS,GPS,RS,Surveying)
填坑 笔记三: SpatialiteSharp在Asp.NET的

填坑 笔记三: SpatialiteSharp在Asp.NET的

作者: brandonxiang | 来源:发表于2016-04-09 16:17 被阅读223次

github源码在此,记得点星:
https://github.com/brandonxiang/SpatialiteSharp

SpatiliteSharp是一个Smartrak/SpatialiteSharp主持的项目,是一个为了方便在.net环境下配置并使用spatialite。如果你选择.net平台,同时选择spatialite空间数据库,那我极度建议用它。

由于.net平台基本上就是微软平台,在配置环境变量上十分繁琐,所以SpatialiteSharp可以帮你下载Spatialite在.net上的x86和x64的版本dll,并通过代码配置对应的环境变量。

总体来说,十分实用,但是,在ASP.Net平台上,由于微软在服务器路径上的繁琐,要改动一下源码。我当然事先issue了一下。在改动之后,路径将修改正确,一切功能正常使用。

原本源码

Environment.SetEnvironmentVariable("PATH", Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";" + Environment.GetEnvironmentVariable("PATH"));

改动后

var dllPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var spatialitePath = Path.Combine(dllPath, Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";";
var paths = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable("PATH", spatialitePath + paths);

或者

var dllPath = AppDomain.CurrentDomain.BaseDirectory;
var spatialitePath = Path.Combine(dllPath, Environment.Is64BitProcess ? "x64" : "x86", "spatialite") + ";";
var paths = Environment.GetEnvironmentVariable("PATH");
Environment.SetEnvironmentVariable("PATH", spatialitePath + paths);

转载,请表明出处。总目录前端经验收集器

相关文章

网友评论

    本文标题:填坑 笔记三: SpatialiteSharp在Asp.NET的

    本文链接:https://www.haomeiwen.com/subject/xojvlttx.html