Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有人在C网络表单上成功实现了maxmind的免费GeoLiteCity DB吗?_C#_Asp.net_Geoip_Maxmind - Fatal编程技术网

C# 有人在C网络表单上成功实现了maxmind的免费GeoLiteCity DB吗?

C# 有人在C网络表单上成功实现了maxmind的免费GeoLiteCity DB吗?,c#,asp.net,geoip,maxmind,C#,Asp.net,Geoip,Maxmind,我们有多个国际合作伙伴/网站抱怨其流量被我们位于美国的国内网站窃取。我认为最好实施一个免费的geoip服务,为我们的国际用户提供一个重定向选项,如果他们发生在我们的国内网站上,可以重定向到他们合适的网站 在研究了免费选项后,我发现MaxMind提供了一个完整的包,其中包含了一个相当准确的IPaddress数据选项ipV4和ipv6。事实上,我们的管理层强烈建议使用MaxMind的实现 我最近为我的国内网站下载了MaxMind的免费GeoLiteCity.dat和github的C代码。我发现文档非

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

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

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

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

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


有没有人在使用C代码实现MaxMind的数据时遇到问题?有没有人在网络表单上成功地使用了MaxMind的数据和C代码?如果您有任何见解,我将不胜感激。如果您能提供一个实现过程的演练,或者一些对您有用的C代码示例,我将不胜感激。

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

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

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

这是一个巨大的问题,如果没有失败的代码是不可能回答的。我建议把失败的代码放在一起,就失败提出一个具体的问题,而不是在整个过程中征求意见。谢谢你,罗伯特。未设置为对象错误实例的对象引用显示在堆栈跟踪中。失败的代码实际上是API LookupService.cs提供的一个类?它在NuGet上提供,我认为文档的质量通常更高。谢谢你,oschwald。我已经看过geoip2api。它需要来自Maxmind的用户ID和许可证密钥。我目前正在研究他们的免费C数据库实现。MaxMind不为他们的免费服务提供故障排除/支持。他们对支持/故障排除的建议是stackoverflow上的留言板。MaxMind甚至提供了从免费服务页面到stackoverflow的直接链接。因此,我最初的职位。我面临的问题是,这里似乎没有太多关于他们数据库的C实现的信息。Oschwald,我正在尝试为C实现您建议的GeoIP2 API。我遵循了相应的文档。关于需要许可证密钥等的行列在关于web服务实现的文档页面上;我道歉。尽管如此,在调试代码之后,还是出现了FileNotFound异常。GeoLite2-City.mmdb文件是否应该放在特定的位置?或处理对mmdb文件的引用的特定方式?我仍然觉得实现文档模糊不清。我为我的无知道歉——我是一名1岁的初级Web开发人员。