ConsoleTraceListener(Boolean) - 传入一个字符串
ConsoleTraceListener(Boolean) - Passing in a string
我使用这个 XML:
设置了一个 TraceListener
<add name="RuntimeDeploymentConsoleListener"
type="System.Diagnostics.ConsoleTraceListener"
initializeData="C:\Users\Administrator\Desktop\TraceSourceLogs.log">
</add>
然后我意识到 initializeData
属性是指定 class 的 string passed to the constructor。
但是 ConsoleTraceListener
的构造函数采用 Boolean
。那么,当它试图将该字符串转换为布尔值时,为什么它不会在运行时抛出异常?
web.config 中的类型强制是松散的。它可能正在寻找 True 或 False,但没有找到与其相等的值,它假设相反。
很可能它正在使用 Convert.ToBoolean,它将尝试转换许多值而不抛出异常:
参考:
https://msdn.microsoft.com/en-us/library/86hw82a3(v=vs.110).aspx
我使用这个 XML:
设置了一个 TraceListener<add name="RuntimeDeploymentConsoleListener"
type="System.Diagnostics.ConsoleTraceListener"
initializeData="C:\Users\Administrator\Desktop\TraceSourceLogs.log">
</add>
然后我意识到 initializeData
属性是指定 class 的 string passed to the constructor。
但是 ConsoleTraceListener
的构造函数采用 Boolean
。那么,当它试图将该字符串转换为布尔值时,为什么它不会在运行时抛出异常?
web.config 中的类型强制是松散的。它可能正在寻找 True 或 False,但没有找到与其相等的值,它假设相反。
很可能它正在使用 Convert.ToBoolean,它将尝试转换许多值而不抛出异常:
参考: https://msdn.microsoft.com/en-us/library/86hw82a3(v=vs.110).aspx