小编Jer*_*oen的帖子

使用模板截断 hg 日志输出中 N 个字符处的“desc”

我正在尝试创建一个自定义模板,其中hg log包含显示第一行的前 N(例如 72)个字符的部分。基于我迄今为止收到的另一个问题的答案:

hg log --template '{desc|strip|firstline}\n'
Run Code Online (Sandbox Code Playgroud)

现在我试图将该位限制为一定数量的字符。但是,相应的模板使用文档不会产生“substring”、“left”等的搜索结果。我尝试了一些方法,包括

hg log --template '{desc|strip|firstline|strip|50}\n'
Run Code Online (Sandbox Code Playgroud)

也只是为了测试

hg log --template '{desc|strip|50}\n'
Run Code Online (Sandbox Code Playgroud)

但他们给出了一个错误:

hg:解析错误:未知函数“50”

我大胆猜测我想要的是可能的,但我似乎无法找到合适的语法。如何构建一个输出提交消息第一行(最多 N 个字符)的模板?

mercurial hg-log

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

AngularJS和Typescript应用程序的VSCode gulpfile.js和tsconfig.json

我刚刚开始使用VS Code,我想知道在哪里可以找到a gulpfile.js和a tsconfig.json,这将让我观看TS和Less文件并在运行中编译它们.

我观看了John Papa的演讲以及此次网络研讨会.它提到他已经修改了Typscript的HotTowel应用程序但是我无处可以找到gulpfile应该是什么样子的任何例子.

如果有人可以与社区分享任何例子作为这个问题的答案,我真的很感激.更好的是,如果有人可以指向我在VSCode下运行的一些示例应用程序,它们具有我可以使用的gulpfile.js,那就更好了.

angularjs typescript visual-studio-code

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

如何使用ASP.NET Core日志记录懒惰?

假设这样的场景:

[Route("api/test")]
public class TestController
{
    private readonly ILogger<TestController> logger;

    public TestController(ILogger<TestController> logger)
    {
        this.logger = logger;
    }

    [HttpPut]
    public void Put(Guid id, [FromBody]FooModel model)
    {
        logger.LogInformation($"Putting {id}");
        logger.LogTrace("Putting model {0}", Newtonsoft.Json.JsonConvert.SerializeObject(model));
        try
        {
            // Omitted: actual PUT operation.
        }
        catch (Exception ex)
        {
            logger.LogError("Exception {0}", ex);
        }
    }
}

public class FooModel 
{ 
    string Bar { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,LogInformation呼叫将触发一个string.Format电话,甚至更糟的是,该LogTrace行会触发一个SerializeObject电话,不管LogLevel.这似乎相当浪费.

Logging API中是否存在允许更懒惰的方法?我能想到的唯一解决方法是覆盖ToString模型以创建非常详细的表示,并跳过使用JsonConvert.SerializeObject作为工具.

c# .net-core .net-core-logging

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

让 angular-oauth2-oidc 从其他选项卡中检索访问令牌

我将angular-oauth2-oidc库与隐式流(带有 IdentityServer4 服务器)结合使用。我已经成功地从 docs设置了Silent Refresh 建议

以下是我在包装服务中引导事物的方式:

private userSubject = new Subject<User>();

constructor(private config: ConfigService, private oAuthService: OAuthService)
{ }

// Called on app load:
configure(): void {
    const config: AuthConfig = {
      issuer: this.config.getIdentityUrl(),
      logoutUrl: this.config.getIdentityUrl() + '/connect/endsession',
      redirectUri: window.location.origin + '/',
      silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
      clientId: 'my_client_id',
      scope: 'openid profile my_api',
      sessionChecksEnabled: true,
    };

    this.oAuthService.configure(config);
    this.oAuthService.tokenValidationHandler = new JwksValidationHandler();

    this.oAuthService
      .loadDiscoveryDocumentAndLogin()
      .then((_) => this.loadUserProfile());

    this.oAuthService.setupAutomaticSilentRefresh();
}

private loadUserProfile() {
  this.oAuthService.loadUserProfile()
    .then((userProfile) => …
Run Code Online (Sandbox Code Playgroud)

typescript identityserver4 angular angular-oauth2-oidc

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

向 Angular“最小”CLI 应用程序添加测试

我曾经ng new my-app --minimal搭建过一个 Angular 5 CLI 应用程序来玩。这样做了一段时间后,我发现我确实想要一个规范文件。所以我所做的是:

  1. /src/app/my-thing.ts使用类创建文件
  2. 创建一个/src/app/my-thing.spec.ts包含内容的文件describe('MyThing', () => { ... }

但显然describe(...)找不到,因为--minimal跳过了设置测试,所以没有什么可以支持它。

我如何正确添加一个可以很好地工作的测试设置ng test

angular

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

使 MSBuild Exec 命令与 git log 跨平台工作

我想在我的 ASP.NET Core 2.2 项目中执行此操作:

git log -1 --format="Git commit %h committed on %cd by %cn" --date=iso
Run Code Online (Sandbox Code Playgroud)

但随后作为预构建步骤,我将其包含在 csproj 中,如下所示:

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
  <Exec Command="git log -1 --format=&quot;Git commit %25%25h committed on %25%25cd by %25%25cn&quot; --date=iso &gt; &quot;$(ProjectDir)/version.txt&quot;" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这适用于 Windows(如果我理解正确的话%25,它是 MSBuild 术语中的百分比,而双百分比是命令行转义,所以我们有%25%25)。它给了我这样的version.txt

Git commit abcdef12345 committed on 2019-01-25 14:48:20 +0100 by Jeroen Heijmans
Run Code Online (Sandbox Code Playgroud)

但是如果我在 Ubuntu 18.04 上执行上面的命令dotnet build,那么我会在我的version.txt

Git commit %h committed on %cd by %cn
Run Code Online (Sandbox Code Playgroud)

如何重构我的Exec …

msbuild csproj .net-core

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

在仅具有2.0框架的服务器上执行编译3.5代码的问题

我似乎无法在我的开发服务器上启动并运行我的应用程序,我不知道为什么.

我已经在VS 2008中编译了我的代码,目标框架为3.5.我使用3.5主要是因为我已经相当广泛地实现了LINQ.编译并运行本地没有任何问题.

挂断的是我的服务器只有2.0 .Net框架,升级到3.5显然不会发生.

在做了一些研究之后,我的印象是,只要我尝试执行编译代码,服务器就不需要安装3.5.

今天我试图发布到服务器,我无法在WEB.CONFIG中通过此错误

配置错误

分析器错误消息:不允许子节点.

providerOption name ="CompilerVersion"value ="v3.5"/

编辑添加问题:我看过一些关于可能设置我对"复制本地"的引用的帖子,这可能允许我在2.0服务器上运行.思考?

c# asp.net .net-3.5

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

使用Html.BeginForm时如何使用锚标记提交?

如何在使用时使用锚标记提交Html.BeginForm?该BeginForm方法似乎没有给出表单名称的方法,所以我可以这样做

<a href="JAVASCRIPT:Form1.submit()">Next</a>
Run Code Online (Sandbox Code Playgroud)

这是因为不Form1存在而失败.

asp.net-mvc

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

如何仅为登录用户显示链接?

我使用dotnetnuke版本5.4.我想在使用条款和隐私声明后显示一个链接(在底部).

只有在用户登录后才能显示此链接.有没有办法执行此操作?我知道如何添加skin.ascx文件的链接,但我不知道如何识别用户是否登录.

dotnetnuke

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

如何将数据绑定到DOM元素的CSS顶部,左侧,宽度和高度?

我正在尝试使用KnockoutJS来构建一个交互式仪表板,其中包含style属性不同方面的数据绑定; 即left,top,width,和height.例如,我正在使用JQuery UI以及ui-draggable和ui-resizable效果,使用户能够在画布上拖动面板并调整它们的大小.没有KnockoutJS,我只是迭代每个div并从dom元素中窃取这些属性.我确信使用KnockoutJS有更好的方法,对吗?

为了更好地解释我的问题,请考虑两个面板并排:

<div id='dashboard'> 
  <div id='panel1' class='ui-draggable ui-resizable' data-bind='?????'> 
    <!-- content goes here -->
  </div> 
  <div id='panel2' class='ui-draggable ui-resizable' data-bind='?????'> 
    <!-- content goes here --> 
  </div> 
  <button data-bind='click: send'>Update</button> 
</div> 
Run Code Online (Sandbox Code Playgroud)

我的视图模型看起来像这样(注意:伪编码为了简洁):

var viewModel = { 
  panels: [ 
   { id: 'panel1', left: 0, top: 0, width: 50; height: 50 }, 
   { id: 'panel2', left: 50, top: 0, width: 50; height: 50 } ], 
  send: function() { 
   ko.utils.postJson( location.href , …
Run Code Online (Sandbox Code Playgroud)

javascript data-binding knockout.js

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