在现有的代码transactionEntities的规模越来越大,并在几乎最后的发言中,我们已经有了
transactionEntities.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave);
就目前存在一个日志也不例外,但显然出现了问题,因为有记录没有最终的消息(“完了......”)。 这里其实2个问题
- 有没有办法理解发生了什么
- 是否有可能以某种方式分批模仿单个语句来保存,因为transactionEntities不断增长的反正。
提取服务代码到控制台应用程序有可能解决的时刻(如引发公司内部的一种方式的服务,所以对于服务本身没有真正的需要)的问题,但没有解决问题的现有服务。
对于问题#1 - 你可以打开诊断你的WCF服务
在您的网页(或应用)的配置:
1)的任意位置添加System.Diagnostics程序部分配置元素之下。 您可以替换与以往的路径你想要的文件存储在路径。
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelMessageLoggingListener">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\temp\services_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelMessageLoggingListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
<filter type="" />
</add>
<add initializeData="C:\temp\services_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ServiceModelTraceListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
<filter type="" />
</add>
</sharedListeners>
</system.diagnostics>
2)在添加system.ServiceModel以下:
<diagnostics wmiProviderEnabled="false">
<messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>
3)在C:\ Program Files文件(x86)的\微软的SDK \的Windows \ v7.0A \ BIN \启动SvcTraceViewer.exe。 同时加载邮件跟踪(services_messages.svclog)和服务跟踪日志(services_tracelog.svclog)。 您可以拖放在工具或打开一个文件,然后添加其他
4)寻找一个问题的红色粗体字。
如果你想使你的经验编辑WCF配置更可口,您可以使用该同一文件夹下找到为SvcTraceViewer.exe SvcConfigEditor.exe(#3)。 只需打开配置文件,你会看到诊断文件夹,让您开始/停止和配置诊断。