Может быть, вы выбираете намного больше записей сегодня, чем вчера? Может ли быть так, что ваш метод обслуживания занимает больше времени, чем по умолчанию 60 секунд, чтобы вернуть данные? Или может быть, что размер данных выходит за пределы 64 КБ для возвращаемых объектов?
Я бы сделал две вещи:
1) Включите сведения об исключении, чтобы вы могли получить подробное сообщение об исключении на клиенте - которое, мы надеемся, должно указывать вам правильное направление
2) Включите ведение журнала сообщений WCF, чтобы увидеть, что происходит по сети
Для пункта 1 необходимо включить поведение serviceDebug
:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="debug">
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="debug" name="YourWCFService">
Это должно дать вам детали в клиенте, когда вызов не удается.
Для пункта №. 2, вам нужно сделать несколько шагов:
Внутри <system.serviceModel>
, вам нужно добавить этот диагностический тег:
<diagnostics>
<messageLogging
logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"
logEntireMessage="true" logMalformedMessages="true"
maxMessagesToLog="2500" maxSizeOfMessageToLog="256000" />
</diagnostics>
и затем вам также нужно добавить это в ваш app.config или web.config:
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="default"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\yourlogfile.svclog" />
</listeners>
</source>
</sources>
<trace autoflush="true" />
</system.diagnostics>
В пространстве имен System.Diagnostics
есть пара предопределенных типов прослушивателей трассировки - используйте любой из этих готовых или создайте свой собственный (например, для входа в базу данных или тому подобное).
Ознакомьтесь с этими дополнительными источниками информации о том, как включить трассировку в WCF:
Вы можете просматривать эти файлы svclog на основе XML с помощью WCF Trace Viewer Tool - очень удобно!