彼ら!2 つのポータルを接続しようとすると、非常に奇妙なエラーが発生します。
「ポータルの接続」または「接続のテスト」ボタンを押すと、「リクエストの検証中に予期しないエラーが発生しました」という赤いエラーが表示されます。うわぁ!
そのため、同様のワークフローが両方のサイトで実行されていることを確認しました。次に、いくつかのデバッグを行い、誤動作する方法を発見しました
DotNetNuke.Enterprise.ContentStaging.StagingClientController.cs
public bool PingServer(string address, int portalId, Guid token)
{
/*====somecode====*/
client.PairService(request);
/*====somecode====*/
return true;
}
というわけで、ペアサービス。より高度なデバッグを行った後、悪の根源を見つけました。
INSERT ステートメントが FOREIGN KEY 制約 "FK_PortalSettings_Portals" と競合しました。データベース「MyDNNDatabase」、テーブル「dbo.Portals」、列「PortalID」で競合が発生しました。ステートメントは終了されました。おやおや!
そのため、指定された制約を削除したところ、データベースで奇妙なことがわかりました。DNN は、テスト サイト ID を持つ別の LocalServerToken を追加しようとしましたが、実稼働サイト ID を持つ targetServerAddress と TargetServerToken が追加されることが予期されていました。
そのため、サイトを削除し、テンプレートを使用して新しいサイトを作成しました。私が期待したように運が悪い。
最後に行ったのは、データベースに targetServerAddress と TargetServerToken を手動で追加することでした。サイトは接続されているように見えましたが、ホストとして認証できず、コンテンツを公開すると、同じ予期しないエラーが発生しました。
いまいましいモジュールがとても深いことを知っている人はいますか?