小编Tac*_*yon的帖子

访问program.cs中的数据库上下文

有没有办法访问文件中 .NET Core 应用程序的数据库上下文program.cs?我基本上希望使用存储在数据库中的特定选项来配置 Kestrel,因此我需要访问数据库上下文。

我基本上想做这样的事情:

WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseSentry()
            .UseKestrel(opts =>
                 {
                    opts.Listen(IPAddress.Any, 443, listenOptions =>
                    {
                        var storedCert = _db.Certificates.First(c => c.Id == 1);
                        var certBytes = Convert.FromBase64String(storedCert.CertificatePfx);
                        var certPassword = storedCert.CertificatePassword;

                        var cert = new X509Certificate2(certBytes, certPassword);

                        listenOptions.UseHttps(cert);
                    });
                });
Run Code Online (Sandbox Code Playgroud)

c# kestrel-http-server asp.net-core

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

如何将“真棒字体”添加到Ionic 4

有很多关于如何在Ionic 3项目中包括Font Awesome的教程和文章,但是我很难找到有关如何将Font Awesome添加到Ionic 4项目中的任何方法。因此,这就提出了一个问题,如何在Ionic 4项目中添加和使用Font Awesome?

我尝试使用以下教程没有成功。我尝试按照以下StackOverflow答案中概述的步骤进行操作,该步骤也不起作用。

font-awesome ionic-framework ionic4

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

window.crypto.subtle.encrypt 对 AES-CBC 使用什么填充

我目前正在使用window.crypto.subtle.encryptJavascript 中的网络加密 API 。我的问题是,默认情况下使用什么填充?我已经搜索了一段时间,但找不到任何答案。

javascript encryption

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

在存储库服务中检索用户 http 数据

我目前正在构建一个应用程序,其中每个用户都有一个存储在用户会话存储中的唯一密钥。此密钥用于解密数据库中的用户数据。由于应用程序的存储库层处理数据库查询(使用 Dapper),我希望在那里进行解密。

现在的问题是:我可以从会话存储中检索用户密钥,将其传递给控制器​​,然后传递给服务,然后在链接的每个方法中使用名称为“key”的参数传递给存储库。有没有办法将密钥从控制器传递到存储库层,而不必在每次调用中手动包含密钥?

如果有比将它存储在会话存储中更好的解决方案,我愿意接受它,如果它能让这更容易。

我遵循的加密系统如下(来自另一个 SO 答案): 加密机制

c# repository asp.net-core

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

材料分页下拉菜单不合适

问题

我目前正在实施一个<mat-table>附加<mat-paginator>的。唯一的问题是每页项目的下拉列表向左偏移。对于 Bootstrap 之外的东西container

这是正在发生的事情的图像。您可以看到下拉列表的位置和项目的位置完全错误。 抵消


代码

我的整个网站都在引导容器内,所以我的网站app.component.html基本上如下所示:

<app-header></app-header>
<div class="container mt-3">
  <router-outlet></router-outlet>
</div>
<app-footer></app-footer>
Run Code Online (Sandbox Code Playgroud)

有问题的页面只是一个简单的材料表,底部添加了分页。

<div class="row">
  <div class="col-md-12">
    <mat-table *ngIf="items" [dataSource]="items" matSort>

      <!-- ID Column -->
      <ng-container matColumnDef="type">
        <mat-header-cell *matHeaderCellDef mat-sort-header> Type </mat-header-cell>
        <mat-cell *matCellDef="let row"> {{row.type}} </mat-cell>
      </ng-container>

      <!-- Provider Column -->
      <ng-container matColumnDef="provider">
        <mat-header-cell *matHeaderCellDef mat-sort-header> Provider </mat-header-cell>
        <mat-cell *matCellDef="let row"> <a href="https://eosauthority.com/account/{{row.provider}}" target="_blank">{{row.provider}}</a> </mat-cell>
      </ng-container>

      <!-- Name Column -->
      <ng-container matColumnDef="url">
        <mat-header-cell *matHeaderCellDef mat-sort-header> URL </mat-header-cell>
        <mat-cell *matCellDef="let …
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap angular

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

gRPC 未生成

我目前正在尝试在现有的 C# ASP .NET Core 应用程序中实现 gRPC 服务器。但不会生成 C# 绑定以在应用程序中使用。我已经安装了以下依赖项:

  • 组蛋白
  • 谷歌Protobuf
  • Grpc核心
  • Grpc.工具

我已将该.proto文件添加到Protos我的项目中的文件夹中。我有以下.proto配置:

syntax = "proto3";

//Request that comes through from the microservice endpoint
message RegistrationRequest {
    string type = 1;
    string ipAddress = 2;
}

//Response on the service register endpoint
message RegistrationResponse {
    bool accepted = 1;
}

//Request to get API endpoint to use based on type
message HostRequest {
    string type = 1;
}

//Response of the host …
Run Code Online (Sandbox Code Playgroud)

c# grpc

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

Angular 7 - 更改组件的背景颜色

我是从 Angular 开始的,所以如果这是一个菜鸟问题,请原谅。我已经生成了一个我想用作登录屏幕的组件。我试图更改整个页面的背景颜色,但无法成功。

我已经尝试过以下方法:

html{
    background-color: blue !important;
}

body{
    background-color: blue !important;
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的。我不想改变所有页面的背景颜色,只想改变这个登录组件。因此,将上述代码放入styles.scss文件中不是一个选择。

css angular

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

获取客户端证书

我需要在 .NET 5 Web API 中的某些端点上实现客户端证书身份验证。因此,我不想按照 MS 文档中所述跨所有端点启用 HTTPS 。我在本地计算机上使用 Kestrel,而不是 IIS Express 或 IIS。

我尝试了以下三种方法,但都没有成功:

var clientCertHeaders = context.HttpContext.Request.Headers;
Run Code Online (Sandbox Code Playgroud)

此命令返回请求的正常标头,但不返回证书。

var clientCert = context.HttpContext.Connection.ClientCertificate;
var clientCertAsync = context.HttpContext.Connection.GetClientCertificateAsync().Result;
Run Code Online (Sandbox Code Playgroud)

这两个都返回 null。

我尝试将以下内容应用到我的服务中:

services.AddCertificateForwarding(options =>
    {
        options.CertificateHeader = "X-SSL-CERT";
        options.HeaderConverter = (headerValue) =>
        {
            X509Certificate2 clientCertificate = null;

            if(!string.IsNullOrWhiteSpace(headerValue))
            {
                var bytes = Encoding.UTF8.GetBytes(headerValue);
                clientCertificate = new X509Certificate2(bytes);
            }

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

即使在我的服务中启用了该功能,我也无法检索客户端证书。

我正在使用 Postman 向 API 请求发出请求。

c# asp.net-core .net-5

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

来自 PEM 的 SubtleCrypto importKey

我正在尝试使用 Ionic 中的 SubtleCrypto Web API 来使用公钥加密数据。我以 PEM 格式导入密钥,然后将其传递给window.crypto.subtle.importKey然后使用该结果window.crypto.subtle.encrypt

似乎有问题window.crypto.subtle.importKey-Uncaught (in promise): DataError当我尝试导入密钥时,我得到了一个。

我目前使用以下方法导入密钥:

//Get the public key in CryptoKey format
let importedPublicKey = await window.crypto.subtle.importKey(
    "pkcs8",
    this.pemPublicToArrayBuffer(serverPublicKey),
    {
        name: "RSA-OAEP",
        hash: {name: "SHA-256"}
    },
    true,
    []
);

private pemPublicToArrayBuffer(pem) {
  var b64Lines = this.removeLines(pem);
  var b64Prefix = b64Lines.replace('-----BEGIN PUBLIC KEY-----', '');
  var b64Final = b64Prefix.replace('-----END PUBLIC KEY-----', '');

  return this.base64ToArrayBuffer(b64Final);
}

private base64ToArrayBuffer(b64) {
  var byteString = window.atob(b64);
  var byteArray = new …
Run Code Online (Sandbox Code Playgroud)

javascript ionic-framework

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

C# 如何在代码块之外使用变量

我有以下代码。我想在代码块之外使用 pictureBox1.Image = image,如下所示:

private void button1_Click(object sender, EventArgs e) {

  using(MemoryStream memoryStream = new MemoryStream()) {
    pic.Image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
    byte[] imageBytes = memoryStream.ToArray();
  }

  Image image = Image.FromStream(memoryStream);
  pictureBox1.Image = image;
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:当前上下文中不存在名称“memoryStream”。我知道我可以执行以下操作,将最后两行移到括号中并且代码可以工作,但是如何在 { } 代码块之外使用变量

我知道下面的代码可以工作,但我只想知道是否有办法在代码块之外使用 pictureBox1.Image = image 。

private void button1_Click(object sender, EventArgs e)
{
    using(MemoryStream memoryStream = new MemoryStream())
    {
        pic.Image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
        byte[] imageBytes = memoryStream.ToArray();
        Image image = Image.FromStream(memoryStream);
        pictureBox1.Image = image;
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
132
查看次数