小编Dar*_*iak的帖子

Visual Studio在安装NuGet时挂起

当我尝试安装特定包VS 15挂起时,完成安装花了半个多小时.但是在VS13内安装相同的软件包只需2分钟,并且没有任何问题.我已经尝试了几乎所有版本的VS15的NuGet包管理器.

nuget nuget-package visual-studio-2015

6
推荐指数
1
解决办法
655
查看次数

Visual Studio 6 处理器包兼容性

我已经看到处理器包可用于 Visual Studio 6,但它似乎只对使用 SP5 的用户可用,而且我已经在使用 SP6:

此外,Visual C++ 处理器包 ​​(VCPP) 已从 Service Pack 6 中删除。如果您安装了 VCPP,安装 SP6 会将其从您的计算机中删除。如果您希望继续使用 VCPP,则需要继续使用 SP5 或迁移到 Visual Studio 2002 或 2003(推荐)。

首先,这个处理器包是否与 Visual Studio 6 SP6 兼容?

其次,它真的会帮助我吗?我担心从我的应用程序中获得最大收益,但它需要在所有类型的 Intel 和 AMD 芯片上运行,所以我不能只针对一个平台。

performance visual-c++-6 intel visual-studio-6 amd-processor

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

我可以通过.Net获取与已安装打印机关联的图标吗?

我知道如何使用.Net获取所有已安装打印机的列表:

foreach (String printer in PrinterSettings.InstalledPrinters)
{        
    Console.WriteLine(printer.ToString());
}
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

InstalledPrinters只是一个字符串列表.有没有办法让安装的打印机对象包含我通常在Windows资源管理器中的"设备和打印机"下看到的名称和图标图像?

.net c# windows printing

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

oracle中的隔离级别

我想知道有关提交的不同隔离级别,并且还想了解行级和表级锁.

database oracle transaction-isolation isolation-level

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

非泛型类中泛型类型的属性

介绍

我正在使用包含两个类的遗留代码:

  • 我有一个类来存储它的System.Object类型值.(我把这个名字命名为DomainItem)
    • 它的Identifier属性是指枚举,它包含一种类型的信息DomainItem(在业务领域的上下文中).
  • 还有一个类将这些项存储为可枚举列表.(DomainItems)

更重要的是:

  • 我不想将这些类更改为泛型.此代码非常敏感,不受测试覆盖.
  • 为了获得DomainItem,我必须从DomainItems.Items收集中获取它.

类的代码等价如下:

public class DomainItem
{
    public Identifier Identifier { get; set; } // Readonly in the "real" code
    public object Value { get; set; }
}

public class DomainItems
{
    public IEnumerable<DomainItem> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

问题是

如何使用泛型扩展这些类,以在编译时解析Value属性的类型.它甚至可能吗?

示例案例可能如下:

DomainItem price = new DomainItem { Value = 25.20d, Identifier = Identifier.Price };
// ....
double priceValue …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

C#检查List是否是另一个List的一部分

我有两个列表如下

 var query1 = from enrollments in db.Enrollments
             where enrollments.studentID == studentID && enrollments.result >= 50 && enrollments.enrolled == false
             select enrollments.subjectID;
 var query2 = from prerequisites in db.Prerequisites
              where prerequisites.subjectID == subjectID
              select prerequisites.prerequisiteID;
Run Code Online (Sandbox Code Playgroud)

现在我想确保query2中的所有数字都存在于query1中.换句话说,我想确保query2是query1的一部分

有任何想法吗?

PS

-你可以肯定的是subjectIDprerequisiteID是一回事

- 我可以将query1和query2转换为这样的列表 query.ToList()

c# linq comparison list subset

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

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

没有参数的Moq回调

我正在尝试使用Moq模拟以下方法签名的回调:

ResponseHeader AddIncentives(
        Hs_transRow[] data,
        out ResponseBody responseBody);
Run Code Online (Sandbox Code Playgroud)

我希望我的回调使用传入的数据。但是,我遇到的问题是因为第二个参数是out参数。我可以毫无问题地设置和返回数据,但是回调是一个问题。

这是我当前的设置:

var addIncentiveResponseBody = new ResponseBody();

mockCoinsService
.Setup(service => service.AddIncentives(It.IsAny<Hs_transRow[]>(), out addIncentiveResponseBody))
.Callback((Hs_transRow[] data, ResponseBody body) =>
{
    //I want to use the data variable here
})
.Returns(() => new ResponseHeader
{
     action = ResponseHeaderAction.RESPONSE,
});
Run Code Online (Sandbox Code Playgroud)

当我在单元测试中运行以下代码时,出现错误:

无效的回调。在具有参数(Hs_transRow [],ResponseBody&)的方法上进行的设置无法调用具有参数(Hs_transRow [],ResponseBody)的回调。

我可以看到&符之间的差异,我认为这是因为该参数应该是out参数。但是,如果将out关键字添加到回调中(并在回调中为其分配值),则会收到生成时间错误:

代表“动作”不带两个参数。

Moq是否无法处理具有out参数的方法的回调,还是我做错了什么?

[编辑]毫无疑问,我不是在问如何设置out参数的值。这行已经完成了:

var addIncentiveResponseBody = new ResponseBody();
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq callback out

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

asp net core中services.AddAuthentication()和services.AddAuthorization()有什么区别?

我有以下代码,我想了解这两种扩展方法之间有什么区别。每一个人都做什么?

services.AddAuthentication (JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer (options => options.TokenValidationParameters = new TokenValidationParameters {
                ValidateIssuer = true,
                    ValidateAudience = true,
                    ValidateLifetime = true,
                    ValidateIssuerSigningKey = true,
                    ClockSkew = TimeSpan.Zero,
                    ValidIssuer = Issuer,
                    ValidAudience = Audience,
                    IssuerSigningKey = new SymmetricSecurityKey(secret)
            });

            services.AddAuthorization();
Run Code Online (Sandbox Code Playgroud)

谢谢,

c# asp.net-authorization asp.net-authentication jwt asp.net-core

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

使用 System.Transaction 如何更新实体框架中的多行

我想使用System.Transactions和更新多行。我的数据库是使用实体框架连接的。

下面是我试过的代码,但它抛出了一个错误:

public  void Update(List<PortfolioCompanyLinkModel> record)
{
    var transaction = _context.Database.BeginTransaction();

    try
    {
        foreach (var item in record)
        {
            var portfolioCompanyLink = _context.PortfolioCompanyLink.FirstOrDefault(p => p.Id == item.Id);
            portfolioCompanyLink.ModifiedBy = _loggedInUser;
            portfolioCompanyLink.ModifiedOn = DateTime.UtcNow;
            portfolioCompanyLink.URL = item.URL;

            _context.SaveChanges();
            //_context.PortfolioCompanyLink.Update(portfolioCompanyLink);
        }

        transaction.Commit();
    }
    catch(Exception ex) 
    {
        transaction.Rollback();
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

配置的执行策略“SqlServerRetryingExecutionStrategy”不支持用户发起的事务。使用'DbContext.Database.CreateExecutionStrategy()'返回的执行策略将事务中的所有操作作为一个可重试的单元来执行。

有人可以帮助我如何处理这个问题吗?

c# sql-server entity-framework asp.net-core

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