小编jaz*_*000的帖子

Moq与任务等待

由于我已将我的WCF方法转换为Async,因此我的单元测试失败了,我无法找出正确的语法来使它们工作.

Cllient代理类

 public interface IClientProxy
{
     Task DoSomething(CredentialDataList credentialData, string store);
}
Run Code Online (Sandbox Code Playgroud)

服务类

  public class CredentialSync : ICredentialSync
{
    private ICredentialRepository _repository;

    private IClientProxy _client;

    public CredentialSync()
    {
        this._repository = new CredentialRepository();
        this._client = new ClientProxy();
    }

    public CredentialSync(ICredentialRepository repository, IClientProxy client)
    {
        this._repository = repository;
        this._client = client;
    }

   public async Task Synchronise(string payrollNumber)
    {
        try
        {
            if (string.IsNullOrEmpty(payrollNumber))
            {
                .... some code
              }
            else
            {
                CredentialDataList credentialData = new CredentialDataList();
                List<CredentialData> credentialList = new List<CredentialData>();

                // fetch the …
Run Code Online (Sandbox Code Playgroud)

.net c# asynchronous moq async-await

44
推荐指数
3
解决办法
3万
查看次数

SQL Server INSERT进入庞大的表是很慢的

我在SQl Server 2008数据库中有一个大表,它有大约5.7亿条记录.我们每天运行一个批处理作业,该作业接收200,000左右的事务记录文件,对这些数据进行分组并对其求和并将其插入到大表中.

最近我尝试将大表的聚簇索引更改为identity int列,这使得插入时间从3小时缩短到1小时,但我仍然感到疑惑为什么这个简单的查询需要花费很长时间才能运行(无论表的大小)

这是5.7亿行的表

CREATE TABLE [dbo].[POINTS_EARNED](
[POINTS_EARNED_ID]int identity not null,
[CARD_ID] [int] NOT NULL,
[CYCLE_ID] [int] NOT NULL,
[POINTS_CODE] [int] NOT NULL,
[NO_POINTS] [int] NULL,
[ACCOUNT_ID] [int] NOT NULL,
[CREATED_DATE] [datetime] NULL,
[CREATED_BY] [varchar](20) NULL,
[LAST_MODIFIED_DATE] [datetime] NULL,
[LAST_MODIFIED_BY] [varchar](20) NULL,
[DELETED] [bit] NULL,
CONSTRAINT [PK_POINTS_EARNED] PRIMARY KEY CLUSTERED 
(
[POINTS_EARNED_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, 
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

它还有一些约束(默认值和外键)和索引,我想知道这些是否是导致问题的原因.

需要一个小时才能运行的实际SQL是:

insert into …
Run Code Online (Sandbox Code Playgroud)

sql-server performance

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

升级到 Angular 9 后,在typings 文件中找不到变量

我有一个对外部日志组件的引用(在 js 文件中引用),我在typings 文件中定义了它

打字.d.ts

declare var LogglyTracker;
Run Code Online (Sandbox Code Playgroud)

我已将 angular 应用程序从版本 8 升级到 9,现在当我运行ng build 时,出现以下错误

src/app/error/loggly.service.ts:13:29 中的错误 - 错误 TS2304:找不到名称“LogglyTracker”。

有谁知道解决这个问题的推荐方法是什么?这段代码在 Angular 8 中运行良好。

@Injectable()
export class LogglyLoggerService {

// https://github.com/loggly/loggly-jslogger
private loggly: any = new LogglyTracker(); //!! Error here
}
Run Code Online (Sandbox Code Playgroud)

angular angular9

12
推荐指数
2
解决办法
4396
查看次数

如何避免使用visual studio 2012数据库项目的循环引用

我正在尝试在Visual Studio 2012中创建数据库解决方案.

我有5个数据库都存在于同一台服务器上,因此我将每个数据库导入到数据库项目中.

遗憾的是,数据库中有相当多的对象引用其他数据库中的对象,因此我一直在尝试通过添加数据库引用来创建数据库引用以引用这些跨数据库实例来解决这些问题.

问题是我有数据库A引用B和B引用A,它不允许我添加这两个引用.我收到消息框说"添加此项目作为参考将导致循环依赖".

有关解决此问题的方法的任何想法?我想有一种方法可能是为每个数据库创建一个解决方案,但是如果有更好的方法,我宁愿不这样做.

我们正在尝试建立一个自动构建,所以我真的需要编译数据库项目.

sql-server database-project visual-studio-2012

11
推荐指数
1
解决办法
3790
查看次数

如何确定当前安装的 sqlPackage 版本

我们有一个安装过程,作为安装的一部分,它会调用 SqlPackage 将 dacpac 文件与该特定客户端的数据库进行比较,并更新任何数据更改。

我们遇到的问题是,根据 Sql Server 的版本和 SQL Server Data Tools 的版本,我们必须选择正确版本的 sqlpackage.exe 才能使用。

我们使用的当前进程在文件夹中查找

C:\Program Files (x86)\Microsoft SQL Server\140\Dac\bin\ 并向下循环 130、120、110 以查找可用的最高版本

不幸的是,最新版本可能安装在 Visual Studio 子文件夹中

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130

是否有任何元数据可供我们查询,以确定给定服务器上现有的最高版本 SqlPackage 是什么,以及在哪里可以找到它?

sql-server visual-studio

7
推荐指数
0
解决办法
1802
查看次数

C# 交互式窗口不会引用我的代码

在 Visual Studio 2017 中,我试图在 c# 交互窗口中运行一些代码。这适用于非常简单的情况(例如使用系统)但是,当我尝试引用稍微更晦涩的库时,它失败了

using Microsoft.AspNetCore.Cryptography.KeyDerivation;
Run Code Online (Sandbox Code Playgroud)

(1,17):错误 CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是否缺少程序集引用?)

这是一个 dot net core 2.0 项目,有人建议我可以右键单击该项目并选择“Initialize Interactive with Project”,但是这个选项在我的项目或解决方案中都没有出现。

我需要知道如何为交互式窗口添加对代码库的引用。

c# roslyn visual-studio-2017

6
推荐指数
2
解决办法
3516
查看次数

角度导航到具有不同参数的同一路线

尽管这个问题以前似乎已经出现过,但我找不到适合我的答案,因为路由器在整个角度的使用期内似乎已经发生了很大变化。

在角度5中,我有一个要编辑用户的组件。我使用以下代码导航到该组件:

this.router.navigate(['editsingleuser',user.username])
Run Code Online (Sandbox Code Playgroud)

它将把我发送到/ editsingleuser / bob

然后,在该组件中,我还可以单击一个按钮来编辑我自己的用户详细信息,该用户使用以下代码:

this.router.navigate(['editsingleuser',this.user.sub])
Run Code Online (Sandbox Code Playgroud)

哪个应将我发送到/ editsingleuser / joe,但不发送

我是否可以在router.navigate中添加一个参数,以强制它加载路由,因为它似乎在进行某种缓存?

我也尝试使用

[routerLink]="['editsingleuser',user?.sub]" 
Run Code Online (Sandbox Code Playgroud)

也有同样的问题

angular2-routing angular

6
推荐指数
4
解决办法
4809
查看次数

基于另一个数组过滤打字稿数组

有几个基于简单数组的例子,但我有 2 个对象数组,似乎无法让它工作。

getAvailableApplications() : Application[]
  {
  var list;
  if (!this.userSettings)
    list = this.applications;
  else
    list =  
      this.applications.filter(x=>
      this.userSettings.modules.filter(y=>
       x.entityId === y.moduleId
     ));

return list;    
}
Run Code Online (Sandbox Code Playgroud)

尽管我在 userSettings.modules 数组中有一个元素,但这总是返回应用程序的完整列表,而不是删除不在 userSetting.modules 数组中的应用程序。

我也尝试在没有 lambda 的情况下重写,但它似乎无法识别模块级 userSettings 变量

      this.applications.filter(function (x){
    return this.userSettings.filter(function(y){
        return x.entityId === y.moduleId;
    })
Run Code Online (Sandbox Code Playgroud)

userSettings 被声明为any,但被分配一个值,如

  userSettings = {"settings":{"modules":[{"moduleId":"b37f590de59943278e7f9b2137c0c232",
  "order":0}]}
Run Code Online (Sandbox Code Playgroud)

应用程序声明如下:

 applications : Application[]
Run Code Online (Sandbox Code Playgroud)

arrays typescript angular

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

无法在MVC3应用程序中选中我的样式锚标签

我有一个MVC应用程序,需要漂亮的圆形按钮,并在IE7上工作.我找到了一些代码来设置锚标签的样式,以使它们看起来像漂亮的按钮.

不幸的是,它们似乎完全不在Tab键顺序之内(我无法通过按Tab键导航到这些控件).在某些屏幕上,我可以通过向表单上的所有控件添加tabindex来解决此问题,但不幸的是,无法在所有屏幕上执行此操作(例如,我有时会使用部分视图).

注意对控件的选项卡在FireFox中也不起作用.

我的"按钮"放置如下:

<a class="btn green" id="Submit">Save</a>
Run Code Online (Sandbox Code Playgroud)

有一些javascript,它为这个类添加了一些和标签,以允许它有圆角,所以锚标签转换为:

<a class="btn green" id="Submit"><i></i><span><i></i><span></span>Save</span></a>
Run Code Online (Sandbox Code Playgroud)

并使用以下css进行样式设置:

    .btn { display: block; position: relative; background: #aaa; padding: 5px; float: left; color: #fff; text-decoration: none; cursor: pointer; }
    .btn * { font-style: normal; background-image: url(images/btn2.png); background-repeat: no-repeat; display: block; position: relative; }
    .btn i { background-position: top left; position: absolute; margin-bottom: -5px;  top: 0; left: 0; width: 5px; height: 5px; }
    .btn span { background-position: bottom left; left: -5px; padding: 0 0 5px 10px; margin-bottom: …
Run Code Online (Sandbox Code Playgroud)

css anchor asp.net-mvc tabbing

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

从linq语句中选择await

看来应该很简单,我有以下代码

var additionalInformation=   response.AdditionalInformation.Select( async x =>  new AdditionalInformationItem
                {
                    StatementCode = x?.StatementCode?.Value,
                    LimitDateTime = x?.LimitDateTime?.Item?.Value,
                    StatementTypeCode = x?.StatementTypeCode?.Value,
                    StatementDescription = x?.StatementDescription?.Value,
                    AdditionalInformationResult = await BuildAdditionalInformationPointers(x)


                }).ToList();
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现的是额外的信息类型

List<AdditionalInformationItem>
Run Code Online (Sandbox Code Playgroud)

,我得到的是 List<Task<AdditionalInformationItem>>

谁能帮助我正确地重新陈述我的陈述?

c# linq async-await .net-core

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