问题标签 [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 回答
607 浏览

asp.net-mvc-2 - 在 asp.net MVC2 中管理用户配置文件

我正在尝试使用 .net MVC2 将用户管理添加到 Web 应用程序,类似于ProfileProvider: retrieve list of all profiles

我想在“列出所有用户”页面上显示个人资料信息(名字、姓氏),但我不知道如何获取所有个人资料。ProfileManager.GetAllProfiles() 返回ProfileInfo对象的集合,而不是实际的 Profile 对象。

虽然 ProfileInfo 类确实让我可以访问一些有用的信息,但我实际上无法获得该特定配置文件的任何属性。

有没有办法获取系统中的所有配置文件,以便我可以在管理页面上列出它们?

0 投票
1 回答
132 浏览

asp.net - 如何让用户在注册时填写个人资料部分?(使用提供者)

我试图让用户在注册时填写个人资料选项。我默认使用 asp.net 附带的提供程序。

示例:用户填写此注册表:

通过执行以下操作,我得到了出现的年龄。

1)将以下代码添加到Web.config

2)将以下代码添加到我的register.aspx视图中

我去运行它,我填写了表格并点击了注册。我懂了:

超时已过。在操作完成之前超时时间已过或服务器没有响应。

第 127 行:_provider.CreateUser(userName, password, email, null, null, true, null, out status);

所以这就是我所做的,这可能都是错误的。做这个的最好方式是什么?

0 投票
1 回答
457 浏览

asp.net - 在 CreateUserWizard 中创建用户后,Page.Profile 未保存

我有以下代码可以触发OnCreatedUser并且不会引发任何错误。Profile.Title在分配后检查时被设置为正确的值。

但是,当我Profile.Title在后续页面上进行测试时(用户肯定已登录),它是== ""

我猜这是用户旧的匿名个人资料,而不是与他们新注册的用户帐户关联的新个人资料。

我尝试向我的 Global.asax 添加一个Profile_MigrateAnonymous方法(如此处所建议的),但这段代码没有被命中。

如何将标题保存到新用户帐户配置文件?

更新
这是代码

0 投票
2 回答
4004 浏览

asp.net - applicationName 属性实际上是如何工作的?

我只是想知道

为什么 asp.net 团队选择 / 作为 Membership Role 应用程序名称的默认值,而不是有意义的项目名称?

此外,该应用程序可能不会部署为根应用程序。这意味着 / 不再合适。

编辑1:

例如:我先创建一个项目A并部署它。后来我创建了另一个项目 B 并部署它。如果两个项目都使用默认值,它们仍然可以工作,但很难知道每个项目都有哪些用户。

对我来说,最好将默认设置为项目名称。

编辑2:

我说的是 Visual Studio 在 Web.config 中生成的 applicationName 属性。为什么不使用项目名称而不是 / 默认情况下?

编辑 3:

创建两个应用程序(即,一个作为根应用程序,另一个作为子应用程序)并且都将相同的 applicationName 设置为 / 后,两个应用程序使用相同的 ApplicationID。这意味着斜线与站点域树无关。我的困惑已经得到解答。那么...为什么 Visual Studio 默认将其设置为 / (这让我感到困惑)?

编辑4:

我有两个应用程序。一个作为根应用程序,另一个作为前者下的子应用程序。两者都使用 applicationName = "/"。我在数据库中得到如下结果: 那么 / 的含义是什么?如果没有意义,为什么VS选择了这个令人困惑的名称而不是项目名称?

替代文字

编辑 5:

从这篇文章中,我将做一个总结:

  1. 如果我们从 web.config 中删除两个应用程序的 applicationName 属性,则在数据库中为 root 生成的 ApplicationName 将为“/”,而在数据库中为子应用程序生成的 ApplicationName 将为“/subappvirtualdir”。
  2. 如果我们将两个应用程序的 applicationName 保留为其默认值“/”,则根应用程序和子应用程序都将获得数据库中生成的相同 ApplicatonName 的“/”。
  3. 如果我们将两个应用程序的 applicationName 更改为“您想要的任何名称”,那么数据库中生成的 ApplicationName 将为两个应用程序设置为“您想要的任何名称”。

感谢 Rockin 提供上面的链接!

0 投票
2 回答
4354 浏览

c# - 如何在重定向之前加载新登录用户的配置文件

我启动了一个 ASP.NET MVC 2 项目,并且正在构建自动生成的代码。

我遇到的问题是,在用户登录后,新登录用户的配置文件似乎没有加载到 中HttpContext,所以我收到一条ProviderException消息“无法为匿名用户设置此属性" 尝试在当前用户的配置文件中设置属性值时。

对于 POST-only LogOn 动作,Visual Web Developer 2010 Express 基本生成:

其中FormsService是类型控制器的属性FormsAuthenticationService(也生成):

在这FormsService.SignIn(model.UserName, model.RememberMe)行之后,我假设新登录帐户的信息将立即可供控制器使用,但情况似乎并非如此。例如,如果我profile.SetPropertyValue("MyProfileProperty", "test")在对 FormsService#SignIn 的调用下方添加,则会得到ProviderException“无法为匿名用户设置此属性”。

如何将新登录用户的个人资料加载到 中,HttpContext以便在下一次请求之前在他或她的个人资料中设置属性值?

0 投票
2 回答
1909 浏览

.net - 在 n 层架构中添加 System.Web 对业务逻辑层的引用

我正在使用 TableProfileProvider 在 n 层架构中使用 ASP.NET 配置文件系统。
UI 层是一个 Web 应用程序,因此我必须公开 profilecommon 类才能使用配置文件。
这是我的架构的简化架构:
UI: ASP.NET Web 应用程序。
BusinessEntities:纯 POCO 类。坚持不懈。
BLL:业务逻辑层。
DAL:数据访问层。

Profilecommon 的定义是:

在一个简单的设计架构中,所有内容都在 Web 应用程序项目中定义,我将按如下方式访问 profilecommon:
ProfileCommon strongleyTypedProfile = (ProfileCommon)this.Context.Profile;

我希望能够从我的业务逻辑层访问 Profile Common,因此我将 ProfileCommon 定义移至我的 BusinessEntities 库(必须在 BusinessEntities 库中添加对 System.Web 程序集的引用)并定义了新的 ProfileBLL 类:

现在我可以像这样从 UI 访问常见的配置文件:

现在,在业务层/业务实体库中引用 System.Web 是否违反了 n 层架构规则?如果是这样,您会提出什么建议来实现这一目标?

0 投票
1 回答
1527 浏览

c# - ASP.NET 自定义配置文件错误

我对 ASP.NET 配置文件实现有疑问。这是我的个人资料代码:

我的网络配置如下所示:

由于某种原因,当代码执行并且我检索或更新当前用户的配置文件时,它会爆炸。但是,更奇怪的是 FirstName 和 LastName 属性可以正常工作。只有在访问/更新 EmailAddress 和 TelephoneNumber 属性时才会出现错误。

如果我<properties>在 web.config 配置文件部分中为 FirstName、LastName、EmailAddress 和 TelephoneNumber 属性添加该部分,则会显示不同类型的错误 - “属性已定义”或类似的内容......

有想法该怎么解决这个吗?您还需要知道配置文件系统的后端是 SQL Azure,而前端是 Azure WCF 服务。

谢谢,

0 投票
1 回答
46 浏览

c# - 插入数据库时​​需要对 CreateWizard 和 Profiles 进行说明

我终于让 CreateWizard 和 Profile 在我的系统上工作,但我无法理解为什么配置文件中的属性按原样存储在数据库中。例如,我添加到配置文件属性的所有内容都存储在名为PropertyNamesand的列PropertyValueString中。

我很难理解他们为什么这样做。我知道与propertynames对应propertyvaluestrings,但是为什么不将它们放入配置文件表中的单独列中?

如果我想将这些值存储在列中,Address或者不是将它们全部存储在一个字符串中,如果我更改用户,我AccountBalance如何保持更新? PropertyValueStringAccountBalance

此外,当我使用 CreateWizard 创建用户时,是否必须手动运行查询以将额外信息插入配置文件列(如果我将原始配置文件表扩展为具有更多列FirstName LastName等)?我在这里缺少什么吗?另外我听说人们将这些用于字符串的 xml 序列化,这样做有什么好处?谢谢

0 投票
1 回答
5850 浏览

asp.net-mvc - 配置文件对象 + 视图模型 + 更新用户配置文件 MVC C#

问题: 我已经创建了一个自定义配置文件对象,正如 Joel在这里所描述的那样。然后,我使用 Jeremy 的方法(此处)扩展自定义配置文件以允许我使用生成用户并设置这些值。然后我创建了一个 ViewModel 来显示会员信息和个人资料信息,以便用户可以更新他们的会员信息(电子邮件)和个人资料信息。**视图显示我在视图中的更新信息中输入的所有字段,然后单击保存,出现以下错误

System.Configuration.SettingsPropertyNotFoundException:未找到设置属性“FirstName”。**

这是我的自定义配置文件对象(模型):

这是 UserProfile 获取方法:

如您所见,我正在使用视图模型来显示视图。视图模型是这样的:

最后更新 UserProfile 的 HttpPost 方法是:

问题是我无法弄清楚错误来自哪里。表单呈现我输入有效信息,然后我被告知“未找到设置属性 'FirstName'。” 就像 UserViewModel 正在尝试更新 ProfileInformation.cs (自定义配置文件对象),但它说它找不到对象......我想这是因为它没有要更新的配置文件......但我在发布之前无法解决错误……太令人沮丧了!任何帮助将不胜感激!!!感谢您抽出宝贵时间查看此内容。

我还将向您介绍我的 Register 方法,该方法成功地使用了自定义 Profile 对象,甚至将 name 属性更新为“ScoobyDoo”以进行测试:)

0 投票
1 回答
167 浏览

c# - 如何通过自定义属性获取配置文件?

如何使用 InvitationCode="foo" 获取个人资料?我也可以使财产独一无二吗?