I\'m trying to configure a new ASP.NET MVC3 using IIS7 express (on my local development machine) to use a custom domain name.<
I have successfully been able to accomplish debugging an IIS7-bound site similar to the above. The only step it appears you are missing is within your project:
Stop currently running site if it is running
Open %userprofile%\documents\iisexpress\config\applicationhost.config
for VS2015+ :$(solutionDir)\.vs\config\applicationhost.config
Locate the site you are interested in and it would have a binding like
<binding protocol="http" bindingInformation="*:<your-port-number>:localhost" />
Now add a similar entry <binding protocol="http" bindingInformation="*:<your-port>:dev.www.mydomain.com" />
just below the above bindig entry.
run the site again
NOTE: You must start visual studio as administrator because non-localhost binding requires administrator privileges
Further to this, we need to do the following. These comments are in the top of my web.config (along with a few other stuff...).
1) netsh http add urlacl url=http://localhost.www.foo.com:80/ user=everyone
netsh http add urlacl url=http://localhost.foo.com:80/ user=everyone
netsh http add urlacl url=http://localhost.foobar.com.au:80/ user=everyone
netsh http add urlacl url=http://localhost.pewpew.com:80/ user=everyone
... etc ...
NOTE: to remove a urlacl: netsh http delete urlacl url=<url in here> .. eg http://foo.com:80
2) ... and we need to edit the main IIS7 express config file to define the url's which will be accepted, per web -site-
File: C:\Users\<UserName>\Documents\IISExpress\config\applicationhost.config
<bindings>
<binding protocol="http" bindingInformation="*:1200:localhost" />
<binding protocol="http" bindingInformation="*:80:localhost.www.foo.com" />
<binding protocol="http" bindingInformation="*:80:localhost.foo.com" />
<binding protocol="http" bindingInformation="*:80:localhost.foobar.com.au" />
<binding protocol="http" bindingInformation="*:80:localhost.pewpew.com" />
</bindings>