Genymotion not resolving domain names

I have been on a journey today, knee deep in Windows 10 / genymotion / virtualbox networking. Most of which I didn’t really understand.

The problem I had was that since my move to a new Windows 10 laptop my genymotion device hasn’t been able to ping any address within the network at the other end of my VPN connection.

I’ve tried many “solutions” to do with changing how the genymotion device talks to my host operating system.

It turned out to be a problem with how Windows 10 deals with DNS requests. The solution is (as is usually the case) very simple. If you change the metrics of your network connections, so the VPN metric is lower than the ethernet metric. I’ve set my IPv4/IPv6 metric to 11 and my ethernet to 15.

Go to Control Panel > Network and Internet > Network Connections, right click the relevant network connections, select Properties (for IPv4 and IPv6), select the Networking tab then click the advanced button, uncheck “Automatic metric” and put the relevant value in there.

Network Interface Metric

I hope this saves you from taking the same soul destroying journey as I’ve just had to take!


SqlDataSource and null parameters

I came across what is, in my opinion, an absurd default value for something on the SqlDataSource today.

What I was trying to do was to call a table based UDF with a number of parameters, some of those parameters could be left as null and default values would be applied in the select within the UDF.

I spent some time debugging the code, then I tried profiling the SQL server and to my surprise nothing was actually being fired at the SQL server. So, I manually tweaked the parameters whilst on a breakpoint just before my database call. It worked, I got my expected result. Then just before I was about to re-code my UDF to cope with empty strings rather than nulls I did a quick search on google for “SqlDataSource + null parameters” and I stumbled across a forum post detailing a parameter to the SqlDataSource itself called CancelSelectOnNullParameter.

So, I set that to false on my SqlDataSource any hey presto is worked.