Saya mendapatkan pengecualian berikut. Saya telah memberikan kontrol penuh ke akun Asp.net pada Eventlogs di Registry edit.
[SecurityException: Sumbernya tidak ditemukan, tetapi beberapa atau semua log peristiwa tidak dapat dicari. Log yang tidak dapat diakses: Keamanan.]
System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) +664 System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109 System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41
Saya kira ini karena masalah konfigurasi pada server?
Jawaban:
EventLog.SourceExists
menghitung melalui subkunciHKLM\SYSTEM\CurrentControlSet\services\eventlog
untuk melihat apakah berisi subkunci dengan nama yang ditentukan. Jika akun pengguna yang menjalankan kode tidak memiliki akses baca ke subkunci yang berupaya diakses (dalam kasus Anda,Security
subkunci) sebelum menemukan sumber target, Anda akan melihat pengecualian seperti yang telah Anda jelaskan.Pendekatan yang biasa untuk menangani masalah tersebut adalah dengan mendaftarkan sumber log peristiwa pada waktu pemasangan (di bawah akun administrator), kemudian menganggap bahwa mereka ada pada saat runtime, memungkinkan pengecualian yang dihasilkan diperlakukan sebagai tak terduga jika sumber log peristiwa target tidak benar-benar ada saat runtime.
sumber
Punya pengecualian yang sama. Dalam kasus saya, saya harus menjalankan Command Prompt dengan Hak Administrator.
Dari Start Menu, klik kanan pada Command Prompt, pilih "Run as administrator".
sumber
Bagi saya kesalahan ini disebabkan oleh prompt perintah, yang tidak berjalan di bawah hak administrator. Anda perlu mengklik kanan pada prompt perintah dan mengatakan " Jalankan sebagai administrator ".
Anda memerlukan peran administrator untuk menginstal atau menghapus layanan.
sumber
Luncurkan baris perintah Pengembang "Sebagai Administrator". Akun ini memiliki akses penuh ke log Keamanan
sumber
Tidak bekerja untuk saya.
Saya membuat nilai kunci dan string baru dan berhasil membuatnya berfungsi
sumber
Bagi saya hanya bekerja iisreset (jalankan cmd sebagai administrator -> iisreset). Mungkin seseorang bisa mencobanya.
sumber
Sumber acara baru perlu memiliki nama unik di semua log termasuk Keamanan (yang memerlukan hak admin saat sedang dibaca).
Jadi aplikasi Anda akan membutuhkan hak admin untuk membuat sumber. Tapi itu mungkin berlebihan.
Saya menulis skrip powershell ini untuk membuat sumber acara sesuka hati. Simpan sebagai
*.ps1
dan jalankan dengan hak istimewa apa pun dan itu akan meningkat dengan sendirinya.sumber
Baru-baru ini saya mengalami kesalahan, dan tidak ada solusi yang bekerja untuk saya. Apa yang menyelesaikan kesalahan bagi saya adalah menambahkan pengguna Application pool ke grup Power Users dalam manajemen komputer. Saya tidak dapat menggunakan grup Administrator karena kebijakan perusahaan.
sumber
Jika Anda melakukan instalasi baru situs web SenseNet TaskManagement di IIS (dari kode sumber, bukan WebPI), Anda akan mendapatkan pesan ini, biasanya terkait dengan komunikasi SignalR. Seperti yang ditunjukkan oleh @ nicole-caliniou, itu karena pencarian kunci di Registry yang gagal.
Untuk mengatasi ini untuk SenseNet TaskManagement v1.1.0, pertama temukan nama kunci registri di file web.config. Secara default itu adalah "SnTaskWeb".
Buka editor registri
regedit.exe
,, dan navigasikan keHKLM\SYSTEM\CurrentControlSet\Services\EventLog\SnTask
. Klik kanan pada SnTask dan pilihNew Key
, dan beri nama kunciSnTaskWeb
untuk konfigurasi yang ditunjukkan di atas. Kemudian klik kanan padaSnTaskWeb
elemen dan pilihNew Expandable String Value
. Nama harusEventMessageFile
dan data nilai harusC:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll
.Kata kunci: signalr, sensenet, regedit, izin
sumber
Jika Anda hanya ingin mengendus jika ada Sumber di mesin lokal tetapi tidak memiliki kemampuan untuk mendapatkan otorisasi untuk melakukan ini, Anda dapat menelusuri melalui contoh berikut (VB).
Ini memintas kesalahan keamanan. Anda juga dapat memodifikasi fungsi ini untuk mengembalikan LogName untuk Sumber.
sumber