Question: We want to set the Thread.CurrentCulture

* **before** the ASP.NET MVC model binder / validator runs (of course), **but**
* **after** the user has been authorized (as we want to load the culture from a UserSettings table)

What's the correct extension point we should go for?

An action filter is too late, Global.asax is too early (user not authorized yet). Anyone with a good idea?

Answer: 
If you create virtual interfaces over eth0, then you should be able to assign different IP addresses to those interfaces. With that, you can use the same ephemeral port numbers (they are allocated in the kernel, so you dont really have much control) for multiple sockets each bound to different addresses -- you will probably need to set SO\_REUSEADDR option. The reason this will work is because for incoming packets (UDP/TCP), the flow is identified by looking at both local source IP and the port number.

And as @Duck mentioned, since TCP/UDP headers allocate only 16 bits for port numbers, there is not much point in increasing the ephemeral range in the local stack.
It's a limitation of the network protocols. Both TCP & UDP, for instance, have 16 bit source and destination ports. Even if you *could* increase the number of ports no one could address them.