我们在我们的应用程序中使用asp.net配置文件提供程序,我需要为大多数用户更新一个特定属性。有人有控制台应用程序或示例代码编写?我们不是以字符串格式存储属性。这个二进制流在aspnet_Profile表中。
感谢, 马力
答案 0 :(得分:1)
你可以很容易地做到这样的事情:
Membership.GetAllUsers().Cast<MembershipUser>()
.Where(u => true /*insert your criteria here*/)
.ToList().ForEach(user =>
{
var p = ProfileBase.Create(user.UserName, true);
// do whatever you want to the profile here
int counter = (int)p["Counter"];
counter++;
p["Counter"] = counter;
p.Save();
});
上述代码将在您网站的任何处理程序中按原样运行,但如果您想使用控制台应用程序执行此操作,只需将<system.web>
部分从web.config
复制到{{ 1}}控制台应用程序。
警告:如果您使用的是默认提供程序连接字符串app.config
,则需要创建一个明确指向.mdf的新连接字符串,因为只有Web应用程序具有localSqlServer
的概念( app_data文件)。