小编use*_*538的帖子

如何使用有效的json格式的Serilog记录复杂对象?

我有这个结构:

public class LogRequestParameters
{
    public string RequestID { get; set; }

    public string Type { get; set; }

    public string Level { get; set; }

    public string DateTime { get; set; }

    public string MachineName { get; set; }

    public Request Request { get; set; }
}

public class Request
{
    public string URLVerb { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在编写以下日志记录:

Serilog.Log.Information("{@LogRequestParameters}", logRequestParameters);
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

LogRequestParameters { RequestID: "bf14ff78-d553-4749-b2ac-0e5c333e4fce", Type: "Request", Level: "Debug", DateTime: "9/28/2016 3:12:27 PM", MachineName: "DXBKUSHAL", Request: Request …
Run Code Online (Sandbox Code Playgroud)

c# json structured-data serilog

9
推荐指数
2
解决办法
7703
查看次数

Serilog - RollingFile Sink 不会根据日期和大小滚动文件

我正在使用 Serilog - RollingFile Sink,但它将所有数据存储在一个文件中一天。在我的应用程序中,一天写入 1 GB 日志。所以我想根据日期和大小滚动日志文件。

如何配置 RollingFile Sink 以根据日期和大小滚动文件?

c# serilog rollingfilesink

7
推荐指数
2
解决办法
1万
查看次数

在 C# 和 Java 中计算 CRC32 校验和有什么区别吗?

我必须在 C# 中计算字符串的 CRC32 校验和并将其发送到外部应用程序。

另一方面,他们将使用 Java 计算它。

但是我的校验和最终不匹配。

例如以下字符串的 CRC32 校验和 43HLV109520DAP10072la19z6

他们的末尾是 1269993351。

和 2947932745 在我最后使用 C#

请告诉我我的代码出了什么问题。

我正在使用这个 0xffffffff 默认种子并遵循 crc 表

readonly static uint[] CRCTable = new uint[] {
            0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,
            0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,
            0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,
            0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
            0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856,
            0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9,
            0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
            0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
            0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3,
            0x45DF5C75, 0xDCD60DCF, …
Run Code Online (Sandbox Code Playgroud)

c# java crc32

5
推荐指数
1
解决办法
4756
查看次数

当存储过程返回结果集和异常时,ExecuteReaderAsync 不会引发异常

我有一个存储过程,有时在 SELECT 语句后返回异常。例如:

BEGIN TRY
 SELECT
    EmployeeId,
    EmployeeName
 FROM dbo.abc

 THROW 50000, 'exception occurs here', 16;
END TRY
BEGIN CATCH
 THROW 50000, 'exception', 16;
END CATCH
Run Code Online (Sandbox Code Playgroud)

我正在使用 ExecuteReaderAsync 方法来读取数据。

如果有例外,我应该在申请中得到例外。例如:

using (var reader = await ExecuteReaderAsync())
{
 while (reader.Read())
 {
 }
}
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何例外。

这是一种非常奇怪的行为。因为如果当我们在 SELECT 之后有一些逻辑并且逻辑失败(例如任何重要的 UPDATE 语句失败)时发生这种情况,那么这将导致应用程序的行为出现问题。

有人可以帮助我为什么会发生这种奇怪的行为。

c# sql-server ado.net

5
推荐指数
1
解决办法
1794
查看次数

群集索引和创建它的表都包含实际数据吗?

聚簇索引根据键值对表或视图中的数据行进行排序和存储.

https://msdn.microsoft.com/en-IN/library/ms190457.aspx

这意味着如果表具有聚簇索引,则该表的行将以与聚簇索引相同的顺序存储在磁盘上.

其次,聚集索引的叶节点包含创建它的表的数据页.

https://technet.microsoft.com/en-us/library/ms177443%28v=sql.105%29.aspx

所以,我的问题是,相同的数据存储在Clustered Index和创建它的表中?

如果是,那么需要以与聚集索引相同的顺序对表进行排序是什么?因为聚簇索引本身将行级数据存储在其叶节点中.

如果不是,那么聚集指数创建背后的实际理论是什么?

sql-server indexing

4
推荐指数
2
解决办法
470
查看次数