Зачем вам нужно обрабатывать default.aspx? Если вы ссылаетесь на корень вашего сайта, как:
Response.Redirect("~/");
// or
<a runat="server" href="~/">Home</a>
Адрес разрешен правильно. Так что, если кто-то захочет набрать default.aspx, так как это единственный способ, которым он доберется до места и отобразит default.aspx в адресной строке В чем именно проблема здесь?
Что касается вашего второго вопроса, это может быть проблема конфигурации в файле Web.config. Убедитесь, что в WEb.config есть следующее:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>