У меня проблема, которая возникает после перезагрузки моего сервера. У меня есть некоторые функции в SharePoint для выполнения различных задач. Во-первых, они добавляют элементы в несколько разных очередей MSMQ. Сразу после перезагрузки сервера, если я попытаюсь войти в SharePoint, перейду на свою пользовательскую страницу и нажму кнопку на этой странице (которая затем создаст элемент msmq), я попаду на страницу, на которой отображается следующий:
Веб-сайт отказался показывать эту веб-страницу. Эта ошибка (HTTP 403 Forbidden) означает, что Internet Explorer смог подключиться к веб-сайту, но у него нет разрешения на просмотр веб-страницы.
Если я копаюсь в журналах событий, я нахожу следующие ошибки в приложении:
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 manageIdentifier, Boolean& nodeNameMatches, UInt32&whereaboutsSize, CoTaskMemHandle&whereaboutsBuffer, IResourceManagerShim) в System.TransactionManagerShim) .Oletx.DtcTransactionManager.Initialize() в System.Transactions.Oletx.DtcTransactionManager.get_ProxyShimFactory() в System.Transactions.Oletx.OletxTransactionManager.CreateTransaction(свойства TransactionOptions) в System.Transactions.TransactionStatePromoted.EnterState(InternalTransaction tx) ...< br> ...в System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
в System.Transactions.Transaction.Promote() в System.Transactions.TransactionInterop.ConvertToOletxTransaction(транзакция транзакции) в System.Transactions.TransactionIntero p.GetDtcTransaction(транзакция транзакции) в System.ServiceModel.Channels.MsmqQueue.GetNativeTransaction(MsmqTransactionMode transactionMode) в System.ServiceModel.Channels.MsmqQueue.SendDtcTransacted(сообщение NativeMsmqMessage, MsmqTransactionMode transactionMode) в System.ServiceModel.Channels.MsmqQueueMend(Native сообщение, MsmqTransactionMode transactionMode) в System.ServiceModel.MsmqIntegration.MsmqIntegrationOutputChannel.OnSend(сообщение сообщения, время ожидания TimeSpan) в System.ServiceModel.Chann...
У меня есть две виртуальные машины, одна для веб-машины (sharepoint) и одна для машины с БД (где хранятся все базы данных контента и т. д.). Сервер БД является основным контроллером домена, и обе машины являются частью одного и того же домена. Я создал пользователя домена для использования в пуле приложений SharePoint.
Как ни странно, можно устранить ошибки, перейдя в другую часть моего приложения и запустив этот код (который также добавляет запись в msmq). Как только это будет сделано, все остальные приложения будут работать как обычно.
Любая помощь будет невероятно оценена.
Примечание. Я заметил, что ошибка как-то связана с анонимным пользователем (IUSR...) в IIS для сайта SharePoint. Я изменил этого пользователя на администратора домена, и ошибка больше не возникает. Итак, это как-то связано с разрешениями пользователя IUSR.., но я не знаю, что...