8,735
社区成员
发帖
与我相关
我的任务
分享
public static bool Reg(string _name, string _password)
{
//……
EntityQuery<User> query = from m in db.GetUserQuery()
where m.Name == _name
select m;
_users = db.Load(query, onCompleted, null);
//我在这里向等待回调函数返回的结果,好确定是不是数据库里已经有_name的同名注册,才可以确定该函数最终的布尔值
//现在的问题是应该来等待呢?
//……
}
private static void onCompleted(LoadOperation<User> U)
{
//…………
}
[OperationContract]
public bool HasUserNameExisted(string name)
{
...
}
public bool HasUserNameExisted(string name)
{
return this.ObjectContext.Users.Any( u = > u.Name.ToLower() == name.Trim().ToLower() );
}
private void button1_Click(object sender, RoutedEventArgs e)
{
var query = from s in client.GetStudentsQuery() select s;
LoadOperation<ScoreManagement.Web.Student> lo = client.Load(query);
lo.Completed += new EventHandler(lo_Completed);
}
void lo_Completed(object sender, EventArgs e)
{
LoadOperation<ScoreManagement.Web.Student> lo = (LoadOperation<ScoreManagement.Web.Student>)sender;
if (lo.Entities.Count() > 0)
{
ScoreManagement.Web.Student student = lo.Entities.FirstOrDefault();
this.textBlock1.Text = student.StudentID.ToString();
}
}
private static void onCompleted(LoadOperation<User> U)
{
// 在这里对U进行判断,以断定 name 是否已被使用了,
// 根据逻辑,是不是
if( U != null )
{
判断出用户名已存在
}
else
{
}
}
client.GetUsersCompleted += new EventHandler<GetUsersCompletedEventArgs>(client_GetUsersCompleted);
client.GetUsersAsync();
void client_GetUsersCompleted(object sender, GetUsersCompletedEventArgs e)
{
// 异步调用结束
// 检查 e.Error ,判断是否有异常发生,
// 如果没有异常,则可以使用 e.Result
}
_OrganizationContext.Load(_OrganizationContext.GetUsersQuery(), OnGetCompleted , null);
void OnGetCompleted(LoadOperation<User> result)
{
// 但是这里似乎判断不了异常
}
//
// 摘要:
// Initiates a load operation for the specified query.
//
// 参数:
// query:
// The query to invoke.
//
// callback:
// Optional callback to be called when the load operation completes.
//
// userState:
// Optional user state.
//
// 类型参数:
// TEntity:
// The entity Type being loaded.
//
// 返回结果:
// The load operation.
public LoadOperation<TEntity> Load<TEntity>(EntityQuery<TEntity> query, Action<LoadOperation<TEntity>> callback, object userState) where TEntity : Entity;
private static void onCompleted(LoadOperation<User> U)
{
// 在这里对U进行判断,以断定 name 是否已被使用了
}
static bool flagIsCompleted;
public static bool Reg(string _name, string _password)
{
…………
_users = db.Load(query, onCompleted, null);
bool flag = false;
int i = 0;
System.Threading.Thread.Sleep(3000);
while ( flag == false&& i <5)
{
flag = _users.IsComplete;
i++;
MessageBox.Show(n.ToString());
}
…………
}