Membership.ValidateUser es lento

Estoy utilizando los métodos System.Web.Sercurity.Membership para tratar con los usuarios de nuestro servicio web. Estuve muy contento con él durante las pruebas, ya que nuestra base de datos y nuestro servicio web residían en el mismo servidor.

Cuando la base de datos y el servicio web se trasladaron a servidores separados, se produce un gran retraso al autenticar a los usuarios con el comando Membership.ValidateUser(username, password) .

Detalles del archivo de configuración:

 type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=*********" connectionStringName="BlaBlaConnection" enablePasswordRetrieval="false" enablePasswordReset="true" RequiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" 

El problema estaba relacionado con los permisos en el cuadro de la base de datos Este artículo ayudó: https://elgg.leeds.ac.uk/webteam/weblog/15385.html

Nuestro encargado de la base de datos agregó la Identidad del grupo de aplicaciones y la identidad de la máquina del Dominio a la caja de la base de datos y a los directorios raíz .NET que otorgan acceso de lectura / escritura.

Cuando se volvieron a crear imágenes de los servidores, las rutas UNC para esos directorios no estaban en la unidad C: por lo que no heredaron los derechos de ACL “normales”

Cuando esto se corrigió, los tiempos se redujeron, pero sigue siendo un poco lento para lo que quiero (un promedio de alrededor de 4 segundos para Membership.ValidateUser(username, password); y Roles.IsUserInRole(username, item.Role) ; con una carga de 10,000 por hora)