Увеличение времени ожидания службы для службы аутентификации в RIA Services - PullRequest
0 голосов
/ 27 августа 2011

У меня есть приложение SL4 LOB, которое использует службы RIA только для проверки подлинности (пока).

Я использую поставщика и службу по умолчанию с небольшими дополнениями (см. Ниже).

Некоторые пользователи с медленным интернет-соединением жаловались на то, что время их входа в систему истекло, с ошибкой:

Load operation failed for query 'Login'.
[HttpRequestTimedOutWithDetail]

Логин работает на моем соединении нормально.

Итак,

  1. Есть ли способ увеличить время ожидания для сервисных операций AuthenticationService?Я видел много исправлений для тайм-аута служб RIA, но все они относятся к DomainDataContexts, а не к самому AuthenticationService.
  2. Возможно ли, что те пользователи, которые получают тайм-аут, из-за того, что они стоят за неприятнымбрандмауэр?Могут ли они получить доступ к сайту (порт 80), загрузить приложение Silverlight, но заблокированы только вызовы службы WCF?

MyCustomMembershipProvider:

public class MyCustomMembershipProvider : SqlMembershipProvider
{

    public override MembershipUser CreateUser(string username, string password, 
    string email, string passwordQuestion, string passwordAnswer, bool isApproved, 
    object providerUserKey, out MembershipCreateStatus status)
  {
     var newUser = base.CreateUser(username, password, email, passwordQuestion, 
          passwordAnswer, false, providerUserKey, out status);
     if (newUser != null)
     {
        SendEmailToAdminForApproval(newUser);
     }

     return newUser;
  }

  private void SendEmailToAdminForApproval(MembershipUser user)
  {
       // Send a mail here
  }
}

И, Служба аутентификации:

[EnableClientAccess]
public class AuthenticationService : AuthenticationBase<User>
{
  public List<User> GetUsers()
  {
     return System.Web.Security.Membership.GetAllUsers().Cast<User>().ToList();
  }
}
...