サーバーの再起動後に問題が発生しています。さまざまなことを行うために、SharePoint にはいくつかの機能があります。彼らが行うことの 1 つは、アイテムをいくつかの異なる MSMQ キューに追加することです。サーバーの再起動直後に、SharePoint にログインしようとして自分のカスタム ページに移動し、そのページ内のボタンをクリックすると (msmq アイテムが作成されます)、続く:
この Web サイトは、この Web ページの表示を拒否しました このエラー (HTTP 403 Forbidden) は、Internet Explorer が Web サイトに接続できたが、Web ページを表示する権限がないことを意味します
イベント ログを詳しく調べると、アプリケーションに次のエラーが見つかります。
Event ID: 1314
An unhandled access exception has occurred
AND in the Security event logs:
3 of these:
Event ID: 560
Object Open:
Object Server: SC Manager
Object Type: SERVICE OBJECT
Object Name: MSDTC
....
Accesses: Query status of service
Event ID: 560
Object Open:
Object Server: SC Manager
Object Type: SC_MANAGER OBJECT
Object Name: ServicesActive
...
Image File Name: C:\WINDOWS\system32\services.exe
...
Accesses: Connect to service controller
Query service database lock state
Event ID: 560
Object Open:
Object Server: SC Manager
Object Type: SERVICE OBJECT
Object Name: MSDTC
...
Image File Name: C:\WINDOWS\system32\services.exe
...
Accesses: Query service configuration information
また、SharePoint ログを詳しく調べると、次のエラーが見つかります。
/my/site/url/MyPage.aspx へのアクセス時のアプリケーション エラー、エラー = アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED)) サーバー スタック トレース: System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String nodeName、Guid resourceManagerIdentifier、IntPtr managedIdentifier、Boolean& nodeNameMatches、UInt32& whereaboutsSize、CoTaskMemHandle& whereaboutsBuffer、IResourceManagerShim& resourceManagerShim) で System.Transactions .Oletx.DtcTransactionManager.Initialize() で System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFactory() で System.Transactions.Oletx.OletxTransactionManager.CreateTransaction(TransactionOptions プロパティ) で System.Transactions.TransactionStatePromoted.EnterState(InternalTransaction tx) ...
... at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
System.Transactions.Transaction.Promote() で System.Transactions.TransactionInterop.ConvertToOletxTransaction (トランザクション トランザクション) で System.Transactions.TransactionInterop.GetDtcTransaction (トランザクション トランザクション) で System.ServiceModel.Channels.MsmqQueue.GetNativeTransaction (MsmqTransactionMode transactionMode) で.ServiceModel.Channels.MsmqQueue.SendDtcTransacted(NativeMsmqMessage メッセージ、MsmqTransactionMode transactionMode) で System.ServiceModel.Channels.MsmqQueue.Send(NativeMsmqMessage メッセージ、MsmqTransactionMode transactionMode) で System.ServiceModel.MsmqIntegration.MsmqIntegrationOutputChannel.OnSend(メッセージ メッセージ、TimeSpan タイムアウト) でSystem.ServiceModel.Channel...
私は 2 つの VM を持っています。1 つは Web (sharepoint) マシン用で、もう 1 つは DB マシン (すべてのコンテンツ データベースなどが保存されている場所) 用です。DB サーバーはプライマリ ドメイン コントローラであり、両方のマシンが同じドメインの一部です。SharePoint アプリケーション プールに使用するドメイン ユーザーを作成しました。
奇妙なことに、アプリケーションの別の部分に移動してそのコードを実行することで、エラーを解消することができます (msmq にもエントリが追加されます)。それが完了すると、アプリケーションの残りの部分はすべて通常どおりに機能します。
どんな助けでも信じられないほど高く評価されます。
注: このエラーは、SharePoint サイトの IIS の匿名ユーザー (IUSR...) に関係していることに気付きました。そのユーザーをドメイン管理者ユーザーに変更したところ、エラーは発生しなくなりました。だから、それはIUSR..ユーザーの権限と関係がありますが、私は何を知りません...