小编Fre*_*ing的帖子

在重试邮件之前,Azure Service Bus是否可以延迟?

Azure Service Bus支持内置的重试机制,该机制使被放弃的消息立即可见以进行另一次读取尝试.我正在尝试使用此机制来处理一些瞬态错误,但消息在被放弃后立即可用.

我想做的是让信息在被放弃后的一段时间内不可见,最好是基于指数递增的策略.

ScheduledEnqueueTimeUtc在放弃消息时尝试设置属性,但似乎没有效果:

var messagingFactory = MessagingFactory.CreateFromConnectionString(...);

var receiver = messagingFactory.CreateMessageReceiver("test-queue");

receiver.OnMessageAsync(async brokeredMessage =>
{
    await brokeredMessage.AbandonAsync(
        new Dictionary<string, object>
        {
            { "ScheduledEnqueueTimeUtc", DateTime.UtcNow.AddSeconds(30) }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

我已经考虑过根本不放弃消息而只是让锁过期,但是这需要一些方法来影响MessageReceiver指定消息的锁定持续时间的方式,而我在API中找不到任何东西让我改变这个价值.此外,在已经需要锁定之前,将无法读取消息的传递计数(因此决定等待下一次重试的时间).

消息总线中的重试策略是否可以以某种方式受到影响,还是可以通过其他方式人为引入延迟?

azure azureservicebus

23
推荐指数
2
解决办法
7395
查看次数

如何从ASP.NET Core中的IFormFile读入内存中的文本行的行?

说你有这个动作:

public List<string> Index(IFormFile file){

    //extract list of strings from the file
    return new List<string>();
}
Run Code Online (Sandbox Code Playgroud)

我已经找到了很多将文件保存到驱动器的示例,但是如果我想跳过这个并且只是直接从IFormFile读取文本行到内存中的数组怎么办?

parsing file-upload asp.net-core

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

*ngIf具有多个异步管道变量

试图将两个observable组合成一个,*ngIf并在两者都发出时显示用户界面.

采取:

<div *ngIf="{ language: language$ | async, user: user$ | async } as userLanguage">
    <b>{{userLanguage.language}}</b> and <b>{{userLanguage.user}}</b>
</div>
Run Code Online (Sandbox Code Playgroud)

From:在一个Angular*ngIf语句中放入两个异步订阅

这可以编译,但在我的情况下编译language$,user$并将来自两个HTTP请求,它似乎user$抛出运行时错误,如TypeError: _v.context.ngIf.user is undefined.

基本上我真正想要的是(这不起作用):

<div *ngIf="language$ | async as language && user$ | async as user">
    <b>{{language}}</b> and <b>{{user}}</b>
</div>
Run Code Online (Sandbox Code Playgroud)

是最好的解决方案:

  • 在组件内部订阅并写入变量
  • 将组件内的两个可观察对象组合起来 withLatestFrom
  • 添加空检查 {{userLanguage?.user}}

angular

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

Angular 2键盘事件

尝试使用TypeScript监视Angular 2的键盘事件,以及Angular2创建全局键盘快捷键(又名热键)的方法是什么?很有帮助,但tslint(codelyzer)对象与消息

在"@Component"类装饰器中,您使用的是"host"属性,这被认为是不好的做法.请改用"@HostBindings","@ HotListeners"属性装饰器.

我如何使用推荐的装饰器?我不确定Angular 2:Host binding和Host listen中的示例如何应用于我的用例,因为我没有绑定到任何DOM元素.

这是我的演示

@Component({
  selector: 'my-app',
 template: `
    <div>
      <h2>Keyboard Event demo</h2>
      Start typing to see KeyboardEvent values
    </div>
    <hr />
    KeyboardEvent
    <ul>
      <li>altKey: {{altKey}}</li>
      <li>charCode: {{charCode}}</li>
      <li>code: {{code}}</li>
      <li>ctrlKey: {{ctrlKey}}</li>
      <li>keyCode: {{keyCode}}</li>
      <li>keyIdentifier: {{keyIdentifier}}</li>
      <li>metaKey: {{metaKey}}</li>
      <li>shiftKey: {{shiftKey}}</li>
      <li>timeStamp: {{timeStamp}}</li>
      <li>type: {{type}}</li>
      <li>which: {{which}}</li>
    </ul>
      `,
  host: { '(window:keydown)': 'keyboardInput($event)' }
  /*
  In the "@Component" class decorator you are using the "host" property, this is considered bad …
Run Code Online (Sandbox Code Playgroud)

angular

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

如何验证是否应选择至少一个复选框?

我想在没有表单标签的情况下对复选框进行验证.至少应选择一个复选框.

<div *ngFor="let item of officeLIST">
  <div *ngIf=" item.officeID == 1">
    <input #off type="checkbox" id="off" name="off" value="1" [(ngModel)]="item.checked">
    <label>{{item.officename}}</label>
  </div>

  <div *ngIf="item.officeID== 2">
    <input #off type="checkbox" id="off" name="off" value="2" [(ngModel)]="item.checked">
    <label>{{item.officename}}</label>
  </div>

  <div *ngIf="item.officeID== 3">
    <input #off type="checkbox" id="off" name="off" value="3" [(ngModel)]="item.checked">
    <label>{{item.officename}}</label>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

对于其他领域,我将把所需要的和错误|触摸|有效等等但由于复选框不是单输入,我不能在每个复选框中放置所需,因为所有复选框都必须被选中.那么如何进行验证以提醒用户至少应检查一个?

forms validation typescript angular

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

使用Microsoft.NETCore.App版本2.1.3恢复该项目,但使用当前设置,将使用版本2.1.3-servicing-26724-03

在将VS2017升级到v15.8.2并尝试构建我的dotnet核心项目(目标框架.NET Core 2.1)之后,今天遇到此错误:

严重级代码说明项目文件行抑制状态错误NETSDK1061:使用Microsoft.NETCore.App版本2.1.3恢复项目,但使用当前设置,将使用版本2.1.3-servicing-26724-03.要解决此问题,请确保使用相同的设置进行还原以及后续操作(如构建或发布).通常,如果在构建或发布期间设置了RuntimeIdentifier属性,但在还原期间未设置,则会发生此问题.有关更多信息,请参阅 https://aka.ms/dotnet-runtime-patch-selection.

该怎么办?

.net-core visual-studio-2017

18
推荐指数
1
解决办法
4253
查看次数

selenium.common.exceptions.NoSuchElementException:消息:无法找到元素:

我正在尝试使用selenium在网页kahoot.it上自动生成大量用户,使它们出现在类的前面,但是,当我尝试访问inputSession项时(我在其中写入要输入的gameID),我收到此错误消息游戏)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.kahoot.it")

gameID = driver.find_element_by_id("inputSession")
username = driver.find_element_by_id("username")

gameID.send_keys("53384")
Run Code Online (Sandbox Code Playgroud)

这是错误:

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:
{"method":"id","selector":"inputSession"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激!:)

selenium element webdriver

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

angular keyvalue pipe排序属性/按顺序迭代

使用Angular keyvalue管道迭代对象的属性时,如下所示:

<div *ngFor="let item of object | keyvalue">
  {{item.key}}:{{item.value}}
</div>
Run Code Online (Sandbox Code Playgroud)

我遇到了一个问题,即属性没有按预期的顺序迭代.这条评论表明我并不是唯一一个遇到这个问题的人:

如何在Angular中使用ngFor循环对象属性

有人可以建议在使用keyvalue管道时决定迭代顺序的内容以及如何强制执行特定的迭代顺序吗?我理想的迭代顺序是添加属性的顺序.

谢谢

angular-pipe angular

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

Angular 4:`ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后发生了变化

我的子模块中的每个EventEmiiter都会出现此错误,但我无法找到解决方法.

ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'true'. Current value: 'false'.

这是触发我的EventEmitter的原因:

ngOnChanges(changes: any) {
    if (changes.groupingTabValid) {
        if (changes.groupingTabValid.currentValue !== changes.groupingTabValid.previousValue) {
            this.groupingTabValidChange.emit(this.groupingTabValid);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的"主要"组件的HTML

<year-overview-grouping [definitionDetails]="definitionDetails"
                        [fixedData]="fixedData"
                        [showValidation]="showValidation"
                        [groupingTabValid]="groupingTabValid"
                        (groupingTabValidChange)="setValidators('groupingTab', $event)">

</year-overview-grouping>
Run Code Online (Sandbox Code Playgroud)

哪个叫这个功能

public setValidators(validator: string, e: boolean) {
    switch (validator) {
        case "groupingTab":             
            this.groupingTabValid = e;
            break;

        case "selectionTab":
            this.selectionTabValid = e;
            break;
    }

    if (this.groupingTabValid && this.selectionTabValid) {
        this.valid = true;
    } else {
        this.valid = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

1)在一个简单的解释中,是什么导致了这个错误? …

eventemitter typescript angular

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

MVC 6托管在IIS HTTP错误500.19上

在Windows 10上访问IIS中的MVC 6应用程序时收到HTTP错误500.19.

在IIS中,我将应用程序池设置为"无托管代码"

该应用程序托管在新网站的根目录中.

我使用Visual Studio 2015使用以下设置发布了应用程序.

配置:调试目标DNX版本:dnx-clr-win-x64.1.0.0-rc1-update1

web.config是Visual Studio提供的样板

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

谢谢

麦克风

iis asp.net-core-mvc

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