我正在尝试在mvc Web应用程序中使用parse的.net客户端。 并且找不到合适的方法来注入 ParseObject , ParseUser 和 ParseUser.CurrentUser
注入静态对象的好方法是什么?
网络应用程序具有表单身份验证设置。 和ioc容器注册组件或服务LifestylePerWebRequest()
当我想更新用户对象时出现问题, 只有登录的ParseUser.CurrentUser我们才能更新。 (https://parse.com/docs/dotnet_guide#users-security)
但这是一个静态对象,我得到了最新登录的用户......
现在我正在考虑在解析中创建一个user2表,并将所有配置文件数据保存在那里......
还有更好的方法吗?
public async Task<bool> UpdateUser(string id, string name, string surname)
{
//var user = ParseUser.CurrentUser;
var user = await ParseUser.Query.GetAsync(id);
if (user == null) return await Task.FromResult(false);
user.Name = name;
user.Surname = surname;
await user.SaveAsync();
return await Task.FromResult(true);
}
答案 0 :(得分:2)
注入静态对象的好方法是什么?
将它们隐藏在应用程序定义的抽象之后。您定义a narrow interface来描述应用程序所需的功能(理想情况下,没有接口泄漏外部框架)。例如:
public interface IUserRepository
{
// Throws an exception on failure.
void UpdateUser(string id, string name, string surname);
}
现在,您可以隐藏IUserRepository
的实现背后的静态类:
public class ParseUserRepository : IUserRepository
{
public void UpdateUser(string id, string name, string surname)
{
// call the static Parse functionality.
}
}