2

わかりました。3つの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.Utilsと属性を追加するだけで、これをメインサイトと統合しました。inherits="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>

3つのweb.configすべてをどのようにマージする必要がありますか?

私の目標は、次のアプリケーション構造を持つことです。

  • www.website.com [メインサイト]
  • forum.website.com YAF.NET
  • tracker.website.com BugNET

そして、3つすべてが同じASP.NETメンバーシップモデルの下に統合されています。

これを達成するために、私は明らかにする必要があります

  1. すべてのWeb構成ファイルで同じマシンキーを使用しますか、それとも私が読んだことがありますか?
  2. 3つのアプリケーションすべてに「Webルート」とは何かを伝えることについて何かあったと思いますか?のように、 「www.website.com」に設定します
  3. メンバーシッププロファイルをマージします。これをどのように実現しますか。YAFのカスタムプロファイルプロバイダーからの継承の実装が、セクションのpropertiesノードに配置されたものをすべてオーバーライドすることをどこかで読みました。profileそれらの実装やソースコードを編集するのに問題はありません。BugNETの実装にあるカスタムプロパティをYAF.Utils.YafUserProfileに編集し、さらに適切な名前に変更して、メインのWebサイトソリューションに配置する必要がありますか?
  4. BugNETが使用していると思われる「拡張メンバーシッププロバイダー」についてはどうでしょうか。これをそのままテストして、互換性があるかどうかを確認する必要がありますか?さまざまなソリューションでさまざまな実装を使用していますが、互換性がありますか?
  5. 他に足りないものはありますか?

補足として、メインのWebサイトプロジェクトにある、と呼ばれる特別なフォルダーと、 YAF.NETBugNETApp_Sharedの両方の外部のsvnを作成する予定であることに注意してください。そこで、3つのアプリケーションすべてが継承する必要のあるベースマスターページを配置する予定です。これにより、ヘッダー、フッター、サイトマップなどの非常に基本的な詳細を共有できます。

すべての助けを歓迎します、ありがとう!

4

1 に答える 1

0

直接的な答えではありませんが、Dave Burk はSueetieで完璧にそれを行いました。Bug.Net は含まれていませんが、YAF、BlogEngine.Net、Screwturn Wiki、Gallery Server Pro が含まれています。ソースは無料です。ダウンロードして、テンプレートとして使用してください。

于 2011-08-15T06:09:33.447 に答える