首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人成功地在C# webform上实现了maxmind的免费GeoLiteCity DB?

有没有人成功地在C# webform上实现了maxmind的免费GeoLiteCity DB?
EN

Stack Overflow用户
提问于 2014-01-24 05:13:38
回答 1查看 3K关注 0票数 1

我们有几个国际合作伙伴/网站抱怨他们的流量被我们的国内网站“窃取”(位于美国)。我认为最好实现一个免费的geoip服务,为我们的国际用户提供一个重定向选项,如果它们发生在我们的国内网站上,就可以重定向到他们合适的网站。

在研究了免费选项后,我发现MaxMind提供了一个完整的包,其中包含一个用于相当准确的IPaddress数据的选项(包括ipV4和ipv6 )。事实上,我们的管理层强烈建议使用MaxMind的实现。

我最近在我的国内网站上下载了MaxMind的免费GeoLiteCity.dat和github的C#代码。我发现文档相当模糊,因为它涉及到在控制台应用程序以外的任何应用程序上实现他们的C#代码。

在我目前的网站上实现它之前-在我的开发环境中,我成功地在控制台应用程序上测试了数据库和API的实现,然后在一个模拟网站的aspx页面上成功地进行了测试。我目前在我的开发环境中遇到了可怕的“对象引用未设置为对象的实例”错误。

我已经为MaxMind添加了类库,还添加了对该类库的引用。

有人在使用C#代码实现MaxMind的数据时遇到过问题吗?有没有人成功地在webform上使用了MaxMind的数据和C#代码?如果您有任何见解,我将不胜感激。如果您能提供实现过程的演练,或许还能提供一些对您有效(或有效)的C#示例代码,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-03-23 02:44:43

我必须指定一个完整的文件系统路径才能读取数据库!!我可能遗漏了一些东西,但无论如何相对路径都不起作用!

代码语言:javascript
复制
var reader = new DatabaseReader(@"C:\Users\[User Name]\documents\visual studio 2013\Projects\glocalmvc\glocalmvc\Controllers\GeoLite2_City.mmdb", MaxMind.Db.FileAccessMode.Memory);

        var omni = reader.Omni("1.1.1.1"); // replace it with a real ip address

在它工作后,它没有返回城市名称,只有国家名称!太浪费时间了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21319445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档