问题标签 [asp.net-profiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

.net - ASP.NET 配置文件版本控制?

ASP.NET 配置文件如何处理版本控制?我知道因为数据是序列化的,这可能是一个问题,而表则不是。

它会抛出某种序列化错误吗?

示例:我将 v1 对象存储到配置文件中。我用新的 v2 版本更新了我的 Web 应用程序,但数据库仍然包含 v1 对象。

当我尝试将 v1 对象反序列化为 v2 对象时会发生什么?这个问题的最佳解决方案是什么?

0 投票
2 回答
2261 浏览

asp.net - 多个配置文件提供程序

我有多个配置文件提供者和配置文件类型:

ProviderAProfileA

ProviderBProfileB

他们都使用不同的数据库。我想能够说:

ProfileB.Create(...),并且配置文件在数据库 B 中创建,同时ProfileA.Create(...)在数据库 A 中创建配置文件。

我到底如何在我的 web.config 中配置它?

以下(当然)是无效的:

0 投票
1 回答
483 浏览

asp.net - ASP.NET 允许管理员用户访问基本用户帐户

我们有一个当前向公众发布的 ASP.Net Web 应用程序,它使用成员资格和提供者功能,并让我们的用户分配给“基本”角色。我们正在做的是开发一个管理站点,以便管理员(可能被分配一个“管理员”角色)能够登录到管理站点,在那里他们可以访问“基本”中的用户列表角色。

从管理站点,我们希望允许管理员单击任何“基本”用户并有效地登录到该帐户(在此过程中加载用户的个人资料信息,就像“基本”用户登录时的情况一样),同时仍保持登录到管理帐户。

任何人都可以建议一种方法来完成上述操作吗?

任何帮助,将不胜感激。

谢谢,布伦特

0 投票
3 回答
296 浏览

asp.net - 对 ASP.NET MVC 应用程序中的成员资格的建议

带着这个问题,我主要是从那些在他们自己的数据库中实现开箱即用的 ASP.NET 成员资格的人那里寻找答案——我已经在我的数据库中设置了表,据我所知它们包含主要是我需要的,但不是全部。我将拥有用户所属的公司(公司)的概念,因此我必须将 aspnet_Users 与我的公司表相关联(每个用户将是一个公司的成员)。

如果可能,请提供一些指导方针,如果我将来必须修改表格设计,我可能会遇到什么情况。最好我将使用默认的会员资格提供程序。

我很难决定是从头开始还是使用 ASP.NET 已经提供的功能。

0 投票
2 回答
165 浏览

.net - 会员资料属性

我有一堆使用.net 会员资料的网站。

一些网站有 1000 多个用户的个人资料。

添加的配置文件元素是否安全?

就像我想添加:twitter 帐户作为个人资料元素一样。 这会与现有配置文件有任何冲突吗?

http://msdn.microsoft.com/en-us/library/ms164644.aspx

来自我的 web.config:

0 投票
1 回答
434 浏览

sql-server-2005 - 是否有比 ASP.NET 2.0 匿名配置文件更有效的替代方案?

几年前我发现了 ASP.NET 配置文件,并发现在我的网站中实现一些强大的功能既快捷又容易。我最终只使用“匿名”配置文件属性,因为我没有使用 ASP.NET 成员资格,并且想要跟踪信息并为我的站点用户提供个性化,即使他们没有登录。

快进 3 年,现在我正在努力将我的 aspnetdb 数据库的大小保持在我的托管服务提供商的 3 GB 限制内。一年前我决定只保留 6 个月的配置文件数据,现在我每个月都必须运行 aspnet_Profile_DeleteInactiveProfiles 过程,然后向我的主机提出支持请求以截断数据库文件。

真正的缺点是现在我已经实现了这个功能,网站依赖于这个数据库,每次我需要截断时都会出现停机时间。今天真的很成功 - 在维护 aspnetdb 时,站点关闭了 12 个多小时,我最终创建了 aspnetdb 数据库的故障转移副本,这样我就可以再次使网站上线(原来的 aspnetdb 数据库仍然关闭在我写这篇文章的时候)。

去年我重写了一些功能,因为它存储了一个小的二进制对象集合,我将它转换为存储逗号分隔的 ID 字符串,使其更适合存储。

我已经考虑过获得更多磁盘空间,但现实情况是,拥有一个每年增长 4 GB 的数据库只是为了做一些简单的事情,比如保留每个用户最近查看的产品的列表、跟踪他们在哪个类别中的“继续购物”按钮将他们带回来,并存储他们购物车中的总金额(仅限货币)。实际上,只有不到 5% 的数据被网站的重复访问者重复使用,但是无法提前知道哪些用户会返回访问他们的个人资料信息。

所以我的问题是,是否有更有效的方法来存储配置文件数据,这样它就不会占用太多空间,或者是否有替代方法可以为每个用户创建配置文件数据库记录以支持此功能?

我查看了table profile provider,但是有人可以保证使用它是否会使用比默认提供程序更少的磁盘空间来存储数据?

更新:

我做了一些研究,似乎 nvarchar(max) 字段是 aspnetdb 的默认实现使用的 ntext 字段的直接替换,但根据这篇文章这篇文章只需要一半的磁盘空间。这意味着我应该能够创建一个新的 aspnetdb 副本,在其架构和代码中修改数据类型,并将数据传输到新数据库中。这应该修复数据的存储方式以及执行收缩操作时发生的任何碎片。

我现在已经完成了测试并将这个解决方案投入生产。起初我以为会有问题,因为 Microsoft 将 NText 数据类型硬编码到 SqlProfileProvider 内部的存储过程调用中。但是,事实证明 SQL Server 会将 NText 参数隐式转换为 nvarchar(MAX)。简而言之,除了aspnet_Profiles 表的PropertyNames 和PropertyValuesString 列上的类型之外,我不需要更改任何内容。

必须将数据重写到磁盘以释放空间,但我最终仅通过更改数据类型就节省了大约 30%。

另一个更新:

我还发现,虽然我每天有大约 700 名独立访问者,但 aspnet_Users 表中的平均每日“用户”数平均约为 4000-5000。我推测这是由于某些用户在浏览时没有使用 cookie。我做了一些测试,发现如果配置文件没有更新,则不会创建用户,但是如果您写入配置文件,如果未启用 cookie,则会在每个请求上创建用户(和配置文件)。

我正在为此制定解决方法。我正在尝试为对 webmethod 的 AJAX 调用编写 javascript。理论上,如果启用了 cookie,第二个请求(AJAX 调用)应该有 .ASPXANONYMOUS cookie,因此我可以安全地写入配置文件。只有当这是会话的开始时(由 Session.IsNewSession 属性确定),javascript 才会被注入页面。用户永远不应该知道 AJAX 调用 - 它只是告诉页面是否启用了 cookie,以便它可以更新配置文件。

当然,每个后续请求都可以简单地检查 cookie 集合以确保 .ASPXANONYMOUS cookie 存在。我很可能会创建一个共享函数,该函数既可以被称为 webmethod 的 AJAX 调用,也可以被 Page_Load 事件直接调用,并使用 IsNewSession 属性来确定允许运行 cookie 检查和后续配置文件更新的请求。

根据微软的说法,使用 session 来跟踪是否启用了 cookie 会破坏目的(因为 session 取决于 cookie)。他们建议将您的 AreCookiesEnabled 值保存到数据库中,但他们没有提及您应该如何跟踪保存值的位置 - 如果未启用 cookie,您如何将请求链接到数据库记录?

0 投票
1 回答
175 浏览

asp.net - ASP.NET 2.0 配置文件 - 如何防止为不接受 cookie 的用户创建记录?

我正在使用带有 allowAnonymous="true" 的 ASP.NET 配置文件。我没有使用 ASP.NET 成员资格。我最近仔细查看了 aspnetdb 数据库,发现虽然我的网站每天有 600-800 个独立访问者,但在数据库中创建了 4000-5000 个“用户”。

很明显,这里发生的是禁用 cookie 的用户最终为每个请求创建记录。

我的问题:如果客户端不支持 cookie 或禁用它们,我如何防止创建用户和配置文件数据库记录?

0 投票
1 回答
1133 浏览

c# - ASP.net - 简单列出所有用户

给定一个配置文件字段,我通过以下方式与每个用户一起存储:

我将如何在另一个页面上获取所有用户的电子邮件地址isSubscribed = true

0 投票
1 回答
648 浏览

silverlight-4.0 - 在 Silverlight 4 中获取用户配置文件数据

我对 Silverlight 和 RIA 服务还很陌生,我正在尝试构建一个小项目来理解它。所以基本上我创建了一个业务应用程序,我有一个正常的登录屏幕,我可以在其中添加一个用户。这很好,我可以添加一个用户并将他添加到 aspnet_Users 表中。现在我创建了一些额外的字段,例如 Mob No、Tel No、DOB、Locality 等,我将它们放入我创建的名为 UserProfile 的表中,我的想法是获取注册的用户名,并将其插入我的 UserProfile 表和其他相关数据。

所以我创建了一个名为 Profile.xaml 的页面,我创建了一个 UserProfileDomainService.cs,其中我只有一个查询,从表中获取用户配置文件数据,然后在我的页面上创建了一个 Details DataGrid,我的 QueryName 是获取用户配置文件查询()。现在我想做的是,让用户登录,获取他的用户名,然后检查我的表以查看表中是否已有数据。如果存在用数据填充 DataGrid 上的字段,以便用户可以修改此数据,如果没有,则允许用户将数据插入到表中。

所以我创建了一个 UserProfileViewModel 类,我想创建查询来获取与该用户相关的数据。但是我被困在如何做这一切,以及如何让用户登录。

任何人都可以给我一些建议或指向我如何实现这一目标的一些教程吗?

非常感谢,非常感谢您的帮助。

0 投票
1 回答
212 浏览

asp.net-mvc - ASP.NET MVC Url 显示问题

我最近一直在试验 ASP.NET 的配置文件功能。我无法正确显示“网站”属性。例如,如果我输入的网站是:

使用 /code> 它渲染它在屏幕上渲染为初,我想如果它不包含“http://”,我可能只是在前面加上“http://”,但我觉得应该有一个更清洁的解决方案。

提前致谢。