I have a SL4 LOB app, that uses RIA Services only for authentication (so far).
I use the default provider and service with minor additions (see below).
Some users with slow internet connections have complained that their logins开发者_JAVA技巧 are timing out, with error :
Load operation failed for query 'Login'.
[HttpRequestTimedOutWithDetail]
The login works fine on my connection.
So,
- Is there a way to increase the timeout for the service operations of the AuthenticationService? I have seen many fixes for RIA services timeout, but all of them pertain to DomainDataContexts, not to the AuthenticationService itself.
- Is it possible that those users who are getting the timeout, is due to them being behind a nasty firewall? Is it possible for them to access the site (port 80), download a Silverlight application, but that only the WCF service calls are blocked?
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
}
}
And, AuthenticationService :
[EnableClientAccess]
public class AuthenticationService : AuthenticationBase<User>
{
public List<User> GetUsers()
{
return System.Web.Security.Membership.GetAllUsers().Cast<User>().ToList();
}
}
精彩评论