2

好的,我有一组三个 Web 应用程序。

我现有的 Web 应用程序没有任何自定义,它只是使用了基本的成员资格提供程序。

YAF.NET使用自定义提供程序,造成问题的是自定义配置文件提供程序:

<profile enabled="true" defaultProvider="YafProfileProvider" inherits="YAF.Utils.YafUserProfile">
    <providers>
        <clear/>
        <add connectionStringName="yafnet" applicationName="YetAnotherForum" name="YafProfileProvider" type="YAF.Providers.Profile.YafProfileProvider"/>
    </providers>
</profile>

所以我将它与我的主站点集成,只需在主站点上添加对我的配置文件提供程序的引用YAF.Utilsinherits="YAF.Utils.YafUserProfile"属性。

但现在我也在尝试将BugNET集成到组合中。BugNET对其成员实现进行了以下自定义:

<membership defaultProvider="ExtendedSqlMembershipProvider">
    <providers>
        <clear />
        <add name="ExtendedSqlMembershipProvider" type="BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider, BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider" connectionStringName="BugNET" description="Extended Membership API" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="BugNET" requiresUniqueEmail="false" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
    </providers>
</membership>
<profile enabled="true" automaticSaveEnabled="false" defaultProvider="MyProfileProvider">
    <providers>
        <clear />
        <add name="MyProfileProvider" type="Altairis.Web.Providers.SimpleSqlProfileProvider, Altairis.Web.Providers" connectionStringName="BugNET" tableName="BugNet_UserProfiles" keyColumnName="UserName" lastUpdateColumnName="LastUpdate" />
    </providers>
    <properties>
        <add name="FirstName" type="String" customProviderData="FirstName;nvarchar;100" />
        <add name="LastName" type="String" customProviderData="LastName;nvarchar;100" />
        <add name="DisplayName" type="String" customProviderData="DisplayName;nvarchar;150" />
        <add name="IssuesPageSize" type="Int32" defaultValue="10" customProviderData="IssuesPageSize;int" />
        <add name="NotificationTypes" type="String" defaultValue="Email" customProviderData="NotificationTypes;nvarchar;255" />
        <add name="PreferredLocale" type="String" defaultValue="en-US" customProviderData="PreferredLocale;nvarchar;50" />
  <add name="SelectedIssueColumns" type="String" defaultValue="" customProviderData="SelectedIssueColumns;nvarchar;50" />
    </properties>
</profile>

我应该以什么方式合并所有三个 web.config?

我的目标是拥有以下应用程序结构:

  • www.website.com [主站点]
  • forum.website.com YAF.NET
  • tracker.website.com 虫网

并且所有三个都集成在同一个ASP.NET成员模型下。

为了做到这一点,我显然需要

  1. 在所有网络配置文件中使用相同的机器密钥,或者我读过?
  2. 我认为告诉所有三个应用程序“网络根”是什么是有道理的?如,将其设置为“www.website.com”
  3. 合并成员配置文件,我将如何实现这一点,我在某处读到YAF从其自定义配置文件提供程序继承的实现覆盖了放入properties该部分节点的任何profile内容。我编辑他们的实现或源代码没有问题。我是否应该将BugNET实现中的自定义属性编辑到 YAF.Utils.YafUserProfile 中,并且可能还将其重命名为更合适的名称,或者将其放入我的主要网站解决方案中?
  4. BugNET似乎正在使用的“扩展会员提供程序”怎么样?我应该按原样测试它并找出它们是否兼容吗?在不同的解决方案中使用不同的实现,是否兼容?
  5. 还有什么我可能会丢失的吗?

另外需要说明的是,我打算拥有一个名为 的特殊文件夹App_Shared,它将在主网站项目中,以及YAF.NETBugNET的 svn-external 。在那里,我打算放置一个所有三个应用程序都应继承的 Base 母版页,因此我可以共享一些非常基本的细节,例如页眉、页脚和 SiteMap。

欢迎大家帮忙,谢谢!

4

1 回答 1

0

不是直接的答案,但 Dave Burk 在Sueetie中做得很完美。它不包含 Bug.Net,但包含 YAF、BlogEngine.Net、Screwturn Wiki 和 Gallery Server Pro。来源是免费的。下载它并将其用作模板。

于 2011-08-15T06:09:33.447 回答