我正在使用需要使用两个不同的 asp.net 配置文件提供程序的站点。它们都添加到 web.config 中,并且它们中的每一个的属性也都列在那里。当我尝试在每个提供程序中启用具有相同名称的属性时遇到问题。注释掉一个,网站至少会加载。将两者都保留,我会收到如下错误:
项目已添加。字典中的键:'myfieldname' 正在添加的键:'MyFieldName'
这些属性是完全不同的(甚至是不同的类型),但我错过了如何允许两者同时使用。
我一定有某种方式遗漏了,因为这似乎是一个常见问题。
我正在使用需要使用两个不同的 asp.net 配置文件提供程序的站点。它们都添加到 web.config 中,并且它们中的每一个的属性也都列在那里。当我尝试在每个提供程序中启用具有相同名称的属性时遇到问题。注释掉一个,网站至少会加载。将两者都保留,我会收到如下错误:
项目已添加。字典中的键:'myfieldname' 正在添加的键:'MyFieldName'
这些属性是完全不同的(甚至是不同的类型),但我错过了如何允许两者同时使用。
我一定有某种方式遗漏了,因为这似乎是一个常见问题。
我只用一个 Web 应用程序项目实现了一个配置文件系统。使用网站模板,功能是开箱即用的。配置文件允许您在使用 ASP.NET 成员系统时为每个用户存储一些额外的信息。当我们将此额外信息添加到 web.config 文件时,配置文件会自动存储在数据库中。
如果您使用具有相同名称的配置文件属性,则存在冲突是有道理的 - 一种可能的解决方案是创建自己的表映射 - 例如,在 web.config 中给“MyFieldName”一个别名,但将其映射到代码中的真实属性名称。由于网站模板的大部分功能都是开箱即用的,因此您可以执行的自定义数量可能会受到限制。
以下链接可能会有所帮助:
http://code.msdn.microsoft.com/WebProfileBuilder
http://weblogs.asp.net/jgalloway/archive/2008/01/19/writing-a-custom-asp-net-profile-class.aspx