Old way of getting the IGeolocationProvider using the static property is now depracated and you should get the provider from IoC container where the default provider is registered.
So the old way was like this:
var provider = EPiServer.Personalization.Geolocation.Provider; var result = provider.Lookup(GetUsersIPAddressFromSomewhereHere());
The static property Geolocation.Provider is nowadays marked as deprecated and with message “The default provider is registered in IOC container as GeolocationProviderBase“.
But besides using the actual class GeolocationProviderBase you can also use the IGeolocationProvider interface to get the actual implementation of it.
So with this Episerver change we can now use constructor injection (preferred), the Episerver Injected<IGeolocationProvider> property and ServiceLocator.Current.GetInstance<IGeolocationProvider>() to get the IGeolocationProvider implementation.
Here is sample code (image) of all the variations how to get the IGeolocationProvider.
If you need sample code how to lookup users IP-address then have a look at this post by Jon D Jones or use your best friend Google with keywords like C#, ASP.NET, IP-address, load balancing, x-forwarded-for.