我正在寻找有关在ASP.NET中使用配置文件功能的最佳实践的指导。

如何确定内置用户配置文件中应保留的内容,或者是否应创建自己的数据库表并为所需字段添加列? 例如,用户有一个邮政编码,我应该将邮政编码保存在我自己的表中,还是应该将其添加到web.config xml配置文件中并通过用户配置文件ASP.NET机制访问它?

我现在能够想到的优点是,因为我不太了解这个配置文件(现在它有点像Matrix ),如果我走桌子路线,我可能会做任何我想要的事情(例如, SQL使所有用户获得与当前用户相同的邮政编码。 如果我使用ASP.NET配置文件,我不知道是否可以这样做。

===============>>#1 票数:11 已采纳

我只构建了2个使用配置文件提供程序的应用程序。 从那时起,我一直没有使用它。 对于这两个应用程序,我用它来存储有关用户的信息,例如公司名称,地址和电话号码。

这工作正常,直到我们的客户希望能够通过其中一个字段找到用户。 搜索涉及循环每个用户配置文件并将信息与搜索条件进行比较。 随着用户群的增长,搜索时间变得对我们的客户来说是不可接受的。 唯一的解决方案是创建一个表来存储用户信息。 搜索速度极大地提高了。

我建议将这种类型的信息存储在自己的表中。

===============>>#2 票数:1

用户配置文件是一个很好的清洁框架,用于个性化定制(AKA。配置文件属性)。 (例如iGoogle)它的问题是它不是为查询而设计的,并不适合公共用户的数据共享。(你仍然可以做到这一点,性能低下)

因此,如果您想要增强自定义用户体验,用户配置文件将是一个很好的方法。 否则,使用自己的类和表将是一个更好的解决方案。

===============>>#3 票数:0

根据我的经验,最好将配置文件中的信息保持在最低限度,只将必需品放在那里直接用于身份验证。 其他信息(如地址)应由您自己的应用程序逻辑保存在您自己的数据库中,这种方法更具可扩展性和可维护性。

===============>>#4 票数:0

我认为这取决于你需要多少个字段。 据我所知,Profiles本质上是一个长字符串,在给定的字段大小下被拆分,这意味着如果你有很多字段和用户,它们不能很好地扩展。

另一方面,它们是内置的,因此它是一种简单且标准化的方式,这意味着没有很大的学习曲线,您可以在未来的应用程序中使用它,而无需将其调整为新的表结构。

滚动你自己的东西允许你把它放在一个正确规范化的数据库中,这大大提高了性能,但你必须自己编写几乎所有的配置文件管理代码。

编辑:此外,配置文件不会被缓存,因此对配置文件的每次访问都首先进入数据库(然后缓存该请求,但下一个请求将再次从数据库获取)

如果您正在考虑编写自己的东西,也许定制的Profile Provider可以为您提供两全其美的优势 - 无缝集成,以及您想要做的自定义内容。

===============>>#5 票数:0

我认为最好将它用于对用户来说并不重要的补充数据,这对于用户无论如何都要登录通常很重要。 如果全部擦除,那么认为数据不会破坏任何重要的东西。

当然这是个人偏好,但其他人提出了一些其他重要问题。

同样非常有用,考虑到它可以用于未经身份验证的用户,其配置文件使用匿名cookie进行维护。

  ask by csmba translate from so

未解决问题?本站智能推荐: