Las llamadas continuas al servicio WCF devuelven "Solo se permite un uso de cada dirección de socket (protocolo / dirección de red / puerto) 127.0.0.1:10111"

StackOverflow https://stackoverflow.com/questions/828864

  •  06-07-2019
  •  | 
  •  

Pregunta

He desarrollado un pequeño sitio mashup. Este sitio se completa con una comunidad. Entonces, cuando el usuario vaya a la página Community.aspx, verá a los miembros de la comunidad con la fecha, número de comentarios, nombre, etc.etc. y ofc paging también. Hay como 15 usuarios por página. Ahora mi problema es que tengo 2 tipos de usuarios en mi sitio "Usuarios tradicionales" y '' ID abierta '' usuarios Ofc tengo 2 Roles definidos en el Asp. Membresía neta, a saber, " OpenIDUser " y "Usuario".

OK !!!

Ahora, cuando el usuario hace clic en Community.aspx, se crea una lista de usuarios y se devuelven los primeros 15. Pero para que se cree esta lista de usuarios, hay una gran cantidad de Roles.IsUserInRole (" Nombre de usuario ", " RoleName ") comprueba para ver qué usuarios son los que ahora ordenan alfabéticamente la lista de usuarios orden. Debe tener cuidado con todos los usuarios de OPEN ID que comienzan con http: //identifier.username o lo que sea. Así que hago muchas llamadas al servicio de membresía de Asp .Net Membresía. Obtenga los roles de usuario y todo eso ...

Ahora, por lo general, esto no sería un problema, sin embargo, he incorporado el servicio MemberShip en un WCF. La razón de esto es que en esta comunidad voy a tener muchos subdominios (un subdominio para cada " sitio ") y solo quiero usar 1 base de datos para todos esta.

Así que creo que normalmente si haces más de 500 miembros, lo que sea que llame es 100%. Pero tan pronto como incorpore la Membresía .NET en WCF y convierta cada Membresía individual, sea cual sea el método, en un método WCF. tiene más de 500 llamadas WCF cada vez que se carga la página.

Creo que es por eso que está ocurriendo el error.

¿Fue útil?

Solución

Esto no es una pregunta, por lo que no es una respuesta, sino un comentario.

Debería considerar tener cada subdominio como una aplicación de membresía separada. Esto permite que varios sitios compartan la misma base de datos de membresía, pero no interfieran con los miembros de los demás. Puede establecer el nombre de la aplicación como parte de la configuración del proveedor.

Otros consejos

¿Estás cerrando el cliente? IIRC Tuve un problema similar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top