NLog {aspnet-session:variable=IntID} 渲染器可以 extract/display 来自 HttpContext.Session[IntID] 的整数吗?
Can the NLog {aspnet-session:variable=IntID} renderer extract/display integers from HttpContext.Session[IntID]?
在post详述代码细节之前,只想问一下这是否可能。目前我可以渲染从 Session 中提取的字符串,但不能渲染 INT(没有值,尽管它们在 Session 中有值)。
如果不可能,那么这个问题就解决了。如果可能的话,我无法确定哪里出了问题,&我会 return 到 post 详细信息。
概括说明 - 在控制器中:
HttpContext.Session.SetInt32("SID", (int)userCreds.ProfileSessionId); //custom session id set as INT
HttpContext.Session.SetString("TID", userCreds.TimezoneId); //timezone id set as STRING
NLOG 目标:
<target xsi:type="File" name="allfile" fileName="T:\test.log"
layout="[sid: ${aspnet-session:variable=SID}] [tid: ${aspnet-session:variable=TID}]" />
NLOG 输出:
[sid: ] [tid: 3]
所以字符串值呈现,但 INT 值从不呈现任何东西。
NLog 参考文档没有提及从 Session 中提取 INT,并且他们的示例仅显示从 Session 中提取 STRING。那么,您可以使用 {aspnet-session} 从会话中呈现 INT 吗?
我可以确认这是 ASP.NET 核心的 ${aspnet-session}
当前实施中的 bug/limitation。 (可以看到失败的单元测试here)
不幸的是,类型未知,因为在 ASP.NET 核心会话中只保存字节。
目前只支持字符串。
PS:对于ASP.NET(非核心)。整数确实有效。
在post详述代码细节之前,只想问一下这是否可能。目前我可以渲染从 Session 中提取的字符串,但不能渲染 INT(没有值,尽管它们在 Session 中有值)。
如果不可能,那么这个问题就解决了。如果可能的话,我无法确定哪里出了问题,&我会 return 到 post 详细信息。
概括说明 - 在控制器中:
HttpContext.Session.SetInt32("SID", (int)userCreds.ProfileSessionId); //custom session id set as INT
HttpContext.Session.SetString("TID", userCreds.TimezoneId); //timezone id set as STRING
NLOG 目标:
<target xsi:type="File" name="allfile" fileName="T:\test.log"
layout="[sid: ${aspnet-session:variable=SID}] [tid: ${aspnet-session:variable=TID}]" />
NLOG 输出:
[sid: ] [tid: 3]
所以字符串值呈现,但 INT 值从不呈现任何东西。
NLog 参考文档没有提及从 Session 中提取 INT,并且他们的示例仅显示从 Session 中提取 STRING。那么,您可以使用 {aspnet-session} 从会话中呈现 INT 吗?
我可以确认这是 ASP.NET 核心的 ${aspnet-session}
当前实施中的 bug/limitation。 (可以看到失败的单元测试here)
不幸的是,类型未知,因为在 ASP.NET 核心会话中只保存字节。
目前只支持字符串。
PS:对于ASP.NET(非核心)。整数确实有效。