gpt4 book ai didi

c# - .net 配置文件提供程序和自定义配置文件。找不到设置属性 ''。

转载 作者:行者123 更新时间:2023-11-30 18:02:09 24 4
gpt4 key购买 nike

我在这里遇到了一些困难。我有一个自定义配置文件,用于同一解决方案中的两个应用程序。第一个是我构建的 Web 应用程序,用于将一组自定义用户配置文件和属性从旧的 .net 应用程序导入到 .net 成员资格、角色、配置文件表中。我构建了一个继承自 profilebase 的配置文件公共(public)类。两个应用程序在它们的命名空间中都有同一个类的副本。

using System;
using System.Web.Security;
using System.Web.Profile;
using System.Collections.Specialized;


namespace WebProject
{
public class ProfileCommon : ProfileBase
{
public static ProfileCommon GetUserProfile(string username)
{
return Create(username) as ProfileCommon;
}

public static ProfileCommon GetUserProfile()
{
return Create(Membership.GetUser().UserName) as ProfileCommon;
}

[SettingsAllowAnonymous(false)]
public string FirstName
{
get
{
return base["FirstName"] as string;
}
set
{
base["FirstName"] = value;
}
}

[SettingsAllowAnonymous(false)]
public string LastName
{
get
{
return base["LastName"] as string;
}
set
{
base["LastName"] = value;
}
}

[SettingsAllowAnonymous(false)]
public string Email
{
get
{
return base["Email"] as string;
}
set
{
base["Email"] = value;
}
}

[SettingsAllowAnonymous(false)]
public StringCollection Sites
{
get
{
return base["Sites"] as StringCollection;
}

set
{
base["Sites"] = value;
}
}
}
}

我的网络配置文件中的配置文件提供程序部分如下所示。

<profile defaultProvider="WebProjectProfileProvider" inherits="WebProject.ProfileCommon">
<providers>
<clear />
<add name="WebProjectProfileProvider" applicationName="/" type="System.Web.Profile.SqlProfileProvider" connectionStringName="Test"/>
</providers>
</profile>

如果我使用一个应用程序执行用户导入,而另一个应用程序使用我创建的成员资格、角色和配置文件,这会导致“未找到设置属性”。错误?我似乎无法确定导致错误的位置以及我已经检查过的一些最常见的原因。这是我第一次在 .net 中如此大规模地使用此功能。非常感谢任何帮助。

谢谢。

最佳答案

我发现了我的问题。问题出在调用代码中。我遇到了很多关于配置文件的问题,以至于我忘记将调用代码改回静态方法

ProfileCommon.GetUserProfile();

我遇到的其他问题还有在 Web 配置中声明配置文件的属性以及在配置文件公共(public)类中声明它们。这导致我收到诸如“属性已定义”之类的翻转错误。和“未找到设置属性”。

简而言之,如果您使用的是“Web 应用程序”解决方案,请在代码中而不是在 web.config 中声明 ProfileCommon 代理类。如果您使用的是“网站”解决方案,请在 web.config 中声明属性。

我在网上遇到的最好的例子就是来自这个网站。

ASP.NET Profiles in Web Application Projects

它在简洁明了的摘要中描述了如何使用自定义配置文件,并完整解释了为什么对 Web 应用程序执行此方法以及为什么对网站执行此方法不同。希望这可以减轻很多头痛。

关于c# - .net 配置文件提供程序和自定义配置文件。找不到设置属性 ''。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8298981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com