代码之家  ›  专栏  ›  技术社区  ›  JP.

ASP.NET MVC-加载Maxmind dat文件

  •  1
  • JP.  · 技术社区  · 14 年前

    我计划使用Maxmind的DAT文件来提供一些基本的地理定位功能ASP.NET 我正在开发MVC应用程序。DAT文件大约是17mb,我想知道在我的应用程序中加载这个文件的最佳方法是什么-显然,我不想每次需要一些地理信息时都加载它,我认为最好的做法是在应用程序启动时将其加载到一个共享变量中。

    其他人是怎么做到的?有什么建议吗?

    日本

    2 回复  |  直到 14 年前
        1
  •  4
  •   Mauricio Scheffer    14 年前

    缓存是一个 可怕的 存放这个的地方。它可能会在没有通知的情况下被删除,因此每当它被删除时,您必须重新加载它。

    Maxmind supplies a .NET API 处理他们的数据文件。一个包装成tar.gz (被称为“用于GeoIP城市、国家、ISP等的开源C#API”)已经有了将数据高效加载到私有缓存的选项,例如:

    var lookupService = new LookupService("path.to.my.dat", LookupService.GEOIP_MEMORY_CACHE);
    
        2
  •  2
  •   spender    14 年前

    这个 HttpRuntime.Cache 在我看来,这是保存这些数据的最好地方。看到了吗 here 有关如何从缓存中添加和删除内容的信息。