更新:
我一直试图打开WCF跟踪,但仍然没有成功......以下是我最新的更新.
我是否需要获得写入以下位置的许可?
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="sdt"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "@\\myservername\folder1\traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
我正在使用.NET Framework 3.5.
为调试目的打开WCF跟踪的逐步说明是什么?
我想缓存单个实例以DataContractSerializer供多个线程同时使用,以避免为同一根类型多次实例化序列化器带来的损失。每个线程将序列化一个不同的对象,但该DataContractSerializer对象本身将被共享。(我不会使用IDataContractSurrogateor DataContractResolver,这显然与更复杂/正式的 XML/XSD 模式相关。)
我会好吗?
在 MSDN 的 System.Runtime.Serialization.DataContractSerializer 的“线程安全”下,它说:
此类的实例是线程安全的,除非该实例与 IDataContractSurrogate 或 DataContractResolver 的实现一起使用。
我发现这有点模糊(这是典型的 MSDN 线程安全指南),但它似乎表明我的用例是合适的。如果您能指出个人经验、单元测试或演示它的框架反汇编,那就太好了:)
PS 我不认为这与Is WCF's DataContractSerilaizer thread safe?重复。因为那个人的问题结果与本身的线程安全无关DataContractSerializer。