小编dmo*_*181的帖子

Sourcetree 不刷新视图

从版本 3.3.6.3829 开始,必须通过按 F5 手动更新 sourcetree 中的视图。我试图在https://jira.atlassian.com/上将此作为错误提出,但该表单没有为我提供正确的版本选项,其中 3.2 是可用的最新版本。如果有人能指出我提出这个错误的正确位置,我将不胜感激。

atlassian-sourcetree

12
推荐指数
1
解决办法
1157
查看次数

Angular 拦截器排除特定的 url

我正在编写拦截器,这样我就不必处理调用我的 web api 的每个服务中的标头。问题在于我的 99% 的调用需要 1 个特定的标题集,但其他 1% 只需要 1 个标题,并且不会与其他存在的标题一起使用。知道这一点后,我的想法是制作 2 个拦截器,第一个将添加它们都使用的 1 个标头,第二个将添加其余的标头,第二个不包括 1%。

以下是我将如何排除 1%,这是有效的,但我想看看是否有更好的方法来解决这个问题:

intercept(request: HttpRequest<any>, next:HttpHandler: Observable<HttpEvent<any>> {
  let position = request.url.indexOf('api/');
  if (position > 0){
    let destination: string = request.url.substr(position + 4);
    let matchFound: boolean = false;

    for (let address of this.addressesToUse){
      if (new RegExp(address).test(destination)){
        matchFound = true;
        break;
      }
    }

    if (!matchFound){
      ...DO WORK to add the headers
    }
  }
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

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

EF Core 设置环境无法按预期工作

当我去更新数据库时,我$env:ASPNETCORE_ENVIRONMENT="Development"首先运行,然后再执行Update-Database命令来设置正确的环境。例如,如果我之前已将更改部署到测试,则运行此命令应该将我带回开发环境,而不再指向测试。

不幸的是,这仅在 33% 的情况下有效。每次我运行这个时,我也会运行$env:ASPNETCORE_ENVIRONMENT并检查它是否返回正确的环境,并且确实如此。然后我运行Update-Database我需要的命令,它以某种方式变回以前的环境。

任何人都知道我做错了什么或知道我将连接到正确的数据库的方法吗?如果访问了错误的数据库并且数据恰好被删除或系统出现故障,这可能会非常糟糕。

c# environment-variables package-manager-console visual-studio-2019 ef-core-3.1

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

Serilog 与 Asp.net Web Api 不使用丰富器

我有一个 Microsoft Asp.Net Web Api 项目,我试图在其中设置 serilog 日志记录。我已经安装了 Serilog、Serilog.Sinks.File、SerilogWeb.Classic 和 SerilogWeb.Classic.WebApi 的 Nuget 包。请注意,我无法使用 .Net Core。

我的问题是,我尝试使用 SerilogWeb.CLassic.WebApi 包中的丰富器,但它们没有改变我的输出。我确信我所做的只是一个简单的错误,但我在网上找不到其他人使用相同丰富器的任何示例(我找到的所有内容都在 .Net Core 上)。

Log.Logger = new LoggerConfiguration()
    .Enrich.WithWebApiActionName()
    .WriteTo.File("D:/mytestresults.txt")
    .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

上面的代码片段来自我的 Startup.cs 文件。当我运行时,http 请求会记录到文件中,但添加和删除 Enrich 行没有任何区别。以下是示例文件输出

2019-03-26 10:09:11.215 -04:00 [INF] HTTP GET /api/actions/ responded 200 in 17ms
2019-03-26 10:09:13.621 -04:00 [INF] HTTP GET /api/actions/ responded 200 in 9ms
Run Code Online (Sandbox Code Playgroud)

请注意,我确实想使用其他丰富器,但我已经简化了一些,以便找出我做错了什么。

为了清楚地了解我正在使用的包,以下是我的一些packages.config

<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net461" />
<package …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-web-api serilog

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

多个 Serilog 记录器

是否可以有多个 serilog 记录器?目前,在我的 WebApi 中,我可以调用 Log.Information 来记录信息事件,但是有没有一种方法可以改为制作不同的日志并从我的控制器调用 ExternalLog.Information 或 AuthenticationLog.Information?这背后的目的是我的 web api 目前正在为不同但相互关联的项目使用多个不同的数据库,我想将日志存储在与它们相关的每个数据库中,而不需要创建额外的日志数据库(如果有的话)可能的。

一个更好的解决方案,我认为不太可能是,我可以将单个控制器映射到日志,以便在特定控制器调用 log 时,它会写入 AuthenticationLog 例如。

c# logging asp.net-web-api serilog

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

选择调试时“您正在调试发布版本”

我正在尝试调试我的解决方案,该解决方案将启动几个不同的项目。其中一个项目在被点击时给我一个错误,说它正在发布模式下运行。同样的解决方案在 Windows 7 上运行良好,但我刚刚切换到运行 Windows 10 的新机器,现在收到此错误消息。我曾尝试清理解决方案并使用 Debug 和 Any CPU 进行重建,但无济于事。失败的代码位于 Web Api 项目引用的类库中。我能够向 Web Api 发送不需要使用类库并且按预期工作的请求。

Visual Studio 错误消息

c# class-library asp.net-web-api

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