У меня только мониторинг работоспособности настроен на моем сайте, чтобы он регистрировал ошибки в базе данных и отправил мне электронное письмо. Однако зарегистрированные ошибки не содержат полную трассировку стека с номером строки, отображающим строку кода, которая вызвала ошибку, - она отображает только метод, в котором была вызвана ошибка, но не номер строки внутри, которая фактически вызвала проблему. Вот пример из сообщения электронной почты:Запись полной трассировки стека (включая номер строки) в ASP.NET Мониторинг работоспособности
** Events **
---------------
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 11/6/2015 10:38:24 AM
Event time (UTC): 11/6/2015 10:38:24 AM
Event ID: xxxx Event sequence: 6 Event occurrence: 1 Event detail code: 0
Process information:
Process ID: 1724
Process name: w3wp.exe
Account name: IIS APPPOOL\xxxxx
Exception information:
Exception type: System.Exception
Exception message: Exception of type 'System.Exception' was thrown.
Request information:
Request URL: xxxxxx
Request path: /xxxx.aspx
User host address: xxxx
User: xxxx
Is authenticated: True
Authentication Type: Forms
Thread account name: IIS APPPOOL\xxxx
Thread information:
Thread ID: 26
Thread account name: IIS APPPOOL\xxxx
Is impersonating: False
Stack trace: at TestPage.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Как видно из информационной секции резьбы в нижней части, сообщение только заходит так далеко, чтобы указать, что Page_Load вызвавшего ошибку, но не указывает номер строки, который сделал это. Может ли эта информация быть отправлена с помощью мониторинга состояния здоровья?
Edit: Мой web.config раздел следующим образом:
<!-- Health Monitoring -->
<healthMonitoring enabled="true">
<eventMappings>
<clear/>
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent" startEventCode="0" endEventCode="2147483647"/>
</eventMappings>
<providers>
<clear/>
<add type="System.Web.Management.SimpleMailWebEventProvider"
name="EmailWebEventProvider" buffer="false"
from="xxx" to="xxx"
subjectPrefix="xxxx Website Runtime Error: " />
<add connectionStringName="LocalSqlServer" maxEventDetailsLength="1073741823"
buffer="false" name="SqlWebEventProvider"
type="System.Web.Management.SqlWebEventProvider" />
</providers>
<rules>
<clear/>
<add name="All Errors To Database" eventName="All Errors" provider="SqlWebEventProvider"
profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
<add name="All Errors To E-Mail" eventName="All Errors" provider="EmailWebEventProvider"
profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
</rules>
</healthMonitoring>
Вы пробовали какое-либо решение? ИМХО, полезно http://mvolo.com/asp-net-health-monitoring-8-years-later для размышлений о * Мониторинг здоровья *, вы правы, не полезны для ответа на вопрос – Kiquenet