Мое приложение использует службу WCF, размещенную на IIS, где сервер имеет размер оперативной памяти 4 ГБ. Когда я вызываю запрос на обслуживание из моего клиентского приложения, я получаю исключение «Не удалось выделить буфер управляемой памяти размером 134217728 байт. Объем доступной памяти может быть низким». Хотя блок try-catch в службе не уловил исключение, я получил исключение в клиентском приложении. Поэтому я включил трассировку WCF и проверил файл .svclog для этого текста. Похоже, что это исключение также не было зарегистрировано в файле трассировки.
Возможно ли зарегистрировать это исключение? Если это так, можно ли будет сделать это с помощью файла трассировки и как мне настроить свой WCF, чтобы включить это?
Ниже приведен фрагмент файла конфигурации, который я использовал для включения трассировки в WCF.
<system.diagnostics>
<sources>
<source propagateActivity="false" name="System.ServiceModel"
switchValue="Information, Critical, Error, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="xml">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="Information, Critical, Error, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="xml">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\Temp\logs\Traces.svclog" type="System.Diagnostics.XmlWriterTraceListener"
name="xml" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true">
<listeners>
<add initializeData="C:\Temp\logs\Traces.svclog" type="System.Diagnostics.XmlWriterTraceListener"
name="xml">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>
</system.serviceModel>
Любая помощь очень ценится.