Here's another embeddable web console: a Boo interpreter. You enter some code, hit the Execute button and it compiles and runs the code. You get access to all of the assemblies in your app.
I use this to run short ad-hoc "queries" against a running web app, like:
- Is this thing in the cache?      
 print (context.Cache["pepe"] == null) 
- Do I have all httpmodules correctly registered?       
 import System.Web
for s in context.ApplicationInstance.Container.ResolveAll(typeof(IHttpModule)):
  print s 
- Checking performance counters:      
 import System.Diagnostics
pc = PerformanceCounterCategory("ASP.NET")
for counter in pc.GetCounters():
  print counter.CounterName, counter.NextValue()
- Or even running some NHibernate query (although I'd prefer using the NHibernate web console):       
 import NHibernate 
sf = context.ApplicationInstance.Container.Resolve(typeof(ISessionFactory)) 
using s = sf.OpenSession(): 
  users = s.CreateQuery("from User order by newid()").SetMaxResults(5).List()
  for u in users: 
    print u.Id 
Why Boo? Because it's pretty much the perfect .net scripting language to embed: small (this console with boo merged in is about 1.9MB), type inference, duck typing, low-ceremony syntax.
Setup:
Notes:
- Unlike booish, this console is stateless. Each http request creates a new interpreter, it doesn't remember anything you executed in previous requests. 
- Since the code is compiled and run within the main AppDomain, this will leak memory. Not a big deal in a dev environment though. But putting this in a production site is pretty much suicidal. 
- In case it isn't obvious: this is not meant to replace proper testing. 
Code is here.
UPDATE: it's now also available on NuGet