小编feO*_*O2x的帖子

提供商'SqlServer-20'没有元数据信息

我想测试Quartz.NET 3.0 for .NET Core的SQL数据库功能.不幸的是,我无法StdSchedulerFactory正确配置,我总是在调用时遇到以下异常StdSchedulerFactory.GetScheduler:

System.ArgumentOutOfRangeException: 
There is no metadata information for provider 'SqlServer-20'
Parameter name: providerName
   at Quartz.Impl.AdoJobStore.Common.DbProvider.GetDbMetadata(String providerName)
   at Quartz.Impl.AdoJobStore.Common.DbProvider..ctor(String dbProviderName, String connectionString)
   at Quartz.Impl.StdSchedulerFactory.<Instantiate>d__66.MoveNext()
Run Code Online (Sandbox Code Playgroud)

我已使用以下值配置工厂:

var configuration = new NameValueCollection
{
    { "quartz.jobStore.type", "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" },
    { "quartz.jobStore.driverDelegateType", "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz" },
    { "quartz.jobStore.tablePrefix", "QRTZ_" },
    { "quartz.jobStore.dataSource", "default" },
    { "quartz.dataSource.default.connectionString", "Server=(localdb)\\mssqllocaldb;Database=QuartzTest;Trusted_Connection=True;MultipleActiveResultSets=true" },
    { "quartz.dataSource.default.provider", "SqlServer-20" },
    { "quartz.jobStore.useProperties", "true" },
    { "quartz.serializer.type", "json" }
};

var schedulerFactory = new StdSchedulerFactory(configuration);
Run Code Online (Sandbox Code Playgroud)

如您所见,我目前正在瞄准LocalDB(v12.0.2000).我也在SQL Server …

.net c# sql-server quartz.net .net-core

4
推荐指数
1
解决办法
1986
查看次数

如何禁用ReSharper的内部模式?

我通过按快捷键意外激活了ReSharper 的内部模式(2017.1.3).如何禁用此模式?我在R#选项菜单或GlobalSettingsStorage.DotSettings文件中找不到任何条目.

resharper visual-studio

4
推荐指数
1
解决办法
173
查看次数

TSQL 中的关闭和释放游标以及 Try-Catch

我正在 TSQL 中编写一个存储过程,它使用事务和游标。我想知道是否应该将CLOSEandDEALLOCATE放在 TRY 块中 - 这些语句会抛出异常吗?

我的代码结构如下:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
BEGIN TRANSACTION;

DECLARE myCursor CURSOR LOCAL STATIC FORWARD_ONLY READ_ONLY FOR
SELECT -- Select statement left out for brevity's sake

BEGIN TRY
    OPEN myCursor
    FETCH NEXT FROM myCursor -- INTO statement left out for brevity's sake

    WHILE @@FETCHSTATUS = 0
    BEGIN
        -- Here I process each item in the cursor
        -- and then fetch the items for the next loop run
        FETCH NEXT FROM …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server exception

3
推荐指数
1
解决办法
8083
查看次数

UTF-16 是 ASCII 的超集吗?如果是,为什么根据 HTML 标准 UTF-16 与 ASCII 不兼容?

根据维基百科关于 UTF-16 的文章,“...[UTF-16] 也是唯一与 ASCII 不兼容的网络编码。” (在摘要末尾。)该声明指的是 HTML 标准。这是错误的说法吗?

我主要是一个 C#/.NET 开发人员,.NET 以及 .NET Core 在内部使用 UTF-16 来表示字符串。我很确定 UTF-16 是 ASCII 的超集,因为我可以轻松编写显示所有 ASCII 字符的代码:

public static void Main()
{
    for (byte currentAsciiCharacter = 0; currentAsciiCharacter < 128; currentAsciiCharacter++)
    {
        Console.WriteLine($"ASCII character {currentAsciiCharacter}: \"{(char) currentAsciiCharacter}\"");
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,控制字符会弄乱控制台输出,但我认为我的陈述很清楚:16 位的低 7 位char采用相应的 ASCII 代码点,而高 9 位为零。因此 UTF-16 应该是 .NET 中 ASCII 的超集。

我试图找出为什么 HTML 标准说 UTF-16 与 ASCII 不兼容,但似乎他们只是这样定义它

ASCII 兼容编码是任何非 UTF-16 编码的编码。

我找不到任何解释为什么 UTF-16 …

.net html c# ascii utf-16

3
推荐指数
1
解决办法
680
查看次数

为什么我不能将List <T>传递给通用构造函数参数,尽管满足所有约束条件?

我有以下代码:

public class SampleClass<T, TCollection> where TCollection : class, IList<T>, IReadOnlyList<T>
{
    private readonly TCollection _collection;

    public SampleClass() : this(new List<T>()) { }

    public SampleClass(TCollection collection)
    {
        _collection = collection;
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,包含默认构造函数的行public SampleClass() : this(new List<T>()) { }无法编译.错误消息说:参数1:无法从'System.Collections.Generic.List'转换为'TCollection'.

为什么会这样?List<T>实际上满足了我对TCollection泛型的所有限制:它是一个实现IList<T>和的类IReadOnlyList<T>.

非常感谢你的帮助.

编辑:更新了代码,因为它包含错误.

c# generics

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

有没有办法将通用枚举值转换为 UInt64 值而不进行分配?

我想要一种快速通用的方法来检查标记为 的枚举值是否FlagsAttribute有效。为此,我创建了一个名为 的类,EnumInfo<T>该类通过按位或运算枚举的所有不同值来计算其静态构造函数中的标志模式。然后,该IsValidFlagsValue方法通过与标志模式执行按位 AND 比较来简单地检查提供的值。

考虑以下 C# 代码

// This code requires C# 7.3
public static class EnumInfo<T> where T : Enum, IConvertible
{
    // This field is calculated in the static constructor
    public static readonly ulong FlagsPattern; 

    public static bool IsValidFlagsValue(this T enumValue)
    {
        // The actual problem is here: ToUInt64 allocates (because of internal boxing?)
        var convertedUInt64Value = enumValue.ToUInt64(null);
        return (FlagsPattern & convertedUInt64Value) == convertedUInt64Value;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的实际问题如下:为了重用此代码,我将枚举值转换为类型ulong。但是,内部分配 24 …

c# memory performance enums garbage-collection

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