WCF DataService (OData) y CORS

Estoy tratando de obtener un servicio de datos WCF trabajando con solicitudes de dominios cruzados. Encontré esto sobre cómo hacer que un servicio WCF funcione con CORS:http://blogs.microsoft.co.il/blogs/idof/archive/2011/07/02/cross-origin-resource-sharing-cors-and-wcf.aspx

Descargué la muestra, pero no puedo hacer que funcione con un DataService. Funciona con el servicio de muestra, pero no con mi DataService.

Este es mi muy simple WCS DataService:

public class TestService : DataService<DataContext>
{
    public static void InitializeService(DataServiceConfiguration config)
    {
        config.UseVerboseErrors = true;
        config.SetEntitySetAccessRule("Items", EntitySetRights.All);
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
    }
} 

El archivo TestService.svc:

<%@ ServiceHost Language="C#" Factory="WebHttpCors.CorsWebServiceHostFactory, WebHttpCors" Service="MvcApplication1.TestService" %>

El DataContext también es muy simple:

public class DataContext : DbContext
{
    public DbSet<Item> Items { get; set; }
}

Pero aún así, la solicitud de opciones de verificación previa se devuelve con un 501. ¿Falta algo para que CORS funcione con un Dataservice?

Respuestas a la pregunta(1)

Su respuesta a la pregunta