小编Lea*_*Net的帖子

使用 System.Text.JSON 将枚举反序列化为字符串的问题

我目前正在使用 .NET 6 和 System.Text.Json 进行序列化。当我使用 OkObjectResult 或 ObjectResult 返回响应时,我遇到了 system.text.json 未将枚举正确反序列化为字符串的问题

我在模型上使用了以下内容

public class Customer
{
    public string? id { get; set; }

    public string? Name { get; set; }
    
    public string Address { get; set; }
    
    [JsonConverter(typeof(JsonStringEnumConverter))]
    public CustomerType Type {get; set;}
}

Run Code Online (Sandbox Code Playgroud)
using System.Text.Json.Serialization;

[JsonConverter(typeof(JsonStringEnumConverter))]
public enum CustomerType
{
    NEW,
    EXISTING
}
Run Code Online (Sandbox Code Playgroud)

现在是 API 代码

public async Task<IActionResult> GetCustomerById(string Id)
    {
        var results = await _customerService.GetData(Id);
        // The results have correct JSON data with enum as string …
Run Code Online (Sandbox Code Playgroud)

c# serialization .net-core asp.net-core system.text.json

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

返回上一页而不使用 jquery 刷新,而不是使用 angularjs

我在本地运行一个脚本,在其中一个函数中,它转到不同的页面。一旦这样做,我希望它返回上一页并继续在本地运行脚本。

有没有办法在不刷新页面的情况下返回上一页。我使用parent.history.back();它返回上一页但刷新页面,因此我的脚本停止运行。

javascript jquery

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

将上传文件转换为字节数组以发送到 Angular/Typescript 中的 API 请求

如何将上传的文件转换为Angular/Typescript中的字节数组?

组件.ts

 buildRequest(): CreateRequest { 
 var reader = new FileReader();  
    return {
      create: {
        fileData: this.reader.readAsArrayBuffer(this.fileToUpload)        
      }
    };
  }
Run Code Online (Sandbox Code Playgroud)

模型

export interface CreateRequest {
    create: {
      fileData: Uint8Array[]; // Also, is this correct representation of byte array?
    };
  }

Run Code Online (Sandbox Code Playgroud)

目前,当我将函数分配给 fileData 时出现错误ReadAsArrayBuffer-

“类型‘void’不可分配给类型‘Uint8Array[]’”

将字节数组发送到 API 请求的正确方法是什么?

javascript typescript angular

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

有没有办法在节点内部的顶部显示节点标签?

我正在使用 cytoscape.js 创建一个图形,并且我在父节点内复合了节点。我想在节点顶部但在节点内部拥有主/父节点的标题。这在细胞景观中可能吗?

我曾尝试使用 halign 和 valign。每当我使用最高值时,它都会显示在框外。

是否有扩展或插件可以让我们这样做?

子节点示例:https : //stackblitz.com/edit/cytoscape-call-method-child-efmbaj?file=src%2Fapp%2FstylesheetObject.ts

cytoscape cytoscape-web cytoscape.js dagre

5
推荐指数
2
解决办法
106
查看次数

如果为空,请不要添加到列表中

我正在尝试从匿名函数创建列表。如果请求模型属性不为null,我希望创建列表。当前,它在列表中添加了null

public void method (RequestModel request)
{
 var create = new DtoModel
     {
        docs= new List<docsModel>
         {
           request.FirstDoc!= null ? runFunction(request.FirstDoc) :null,
           request.SecondDoc!= null ? runFunction(request.SecondDoc) : null,
           request.ThirdDoc!= null ? runFunction(request.ThirdDoc) : null,
          }
     };
}
Run Code Online (Sandbox Code Playgroud)

当前,即使任何文档为空,它也会创建一个计数为3的列表。我将仅在文档不为null且列表应仅包含不为null的文档时创建列表。不应有任何空值。请求模型可以包含x个文档。

我知道以后可以使用Linq删除空值,但是我正在寻找一种在列表中不创建空元素的解决方案。

c# asp.net-mvc asp.net-core

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

在.net Core,C#中并行校准API调用的最佳方法是什么?

我想并行调用我的API次数,以便可以快速完成处理。我下面有三种方法必须并行调用API。我试图了解哪种是执行此操作的最佳方法。

基本代码

var client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.Add("Accept", "application/json");

client.BaseAddress = new Uri("https://jsonplaceholder.typicode.com");
var list = new List<int>();

var listResults = new List<string>();
for (int i = 1; i < 5; i++)
{
    list.Add(i);
}
Run Code Online (Sandbox Code Playgroud)

使用Parallel.ForEach的第一种方法

Parallel.ForEach(list,new ParallelOptions() { MaxDegreeOfParallelism = 3 }, index =>
{
    var response = client.GetAsync("posts/" + index).Result;

    var contents =  response.Content.ReadAsStringAsync().Result;
    listResults.Add(contents);
    Console.WriteLine(contents);
});

Console.WriteLine("After all parallel tasks are done with Parallel for each");
Run Code Online (Sandbox Code Playgroud)

带有任务的第二种方法。我不确定这是否并行。让我知道是否可以

var loadPosts = new List<Task<string>>();
foreach(var post in list)
{ …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing task-parallel-library asp.net-core

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

从PowerShell中的JSON对象中删除属性

我有以下 JSON,我想从 Address 下的 JSON 对象中删除街道,这是一个数组。我正在尝试在 powershell 中执行此操作

{
  "Customer": [
    {
      "id": "123"
    }
  ],
  "Nationality": [
    {
      "name": "US",
      "id": "456"
    }
  ],
  "address": [
    {
      "$type": "Home",
      "name": "Houston",
      "streets": [
        {
          "name": "Union",
          "postalCode": "10",
        }
      ]
    },
    {
      "$type": "Office",
      "name": "Hawai",
      "streets": [
        {
          "name": "Rock",
          "postalCode": "11",
        }
      ]
    }
  ],
  "address": [
    {
      "$type": "Home1",
      "name": "Houston",
      "streets": [
        {
          "name": "Union1",
          "postalCode": "14",
        }
      ]
    },
    {
      "$type": "Office1",
      "name": "Hawaii1", …
Run Code Online (Sandbox Code Playgroud)

powershell json powershell-core powershell-7.0

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

进行更改后将 Power BI 嵌入式报表保存在数据库中

我正在使用 power bi 嵌入式包来嵌入 power bi 报告 - https://github.com/microsoft/powerbi-client-react

报告嵌入在编辑模式中,因此用户可以创建或编辑报告。现在我有一个保存按钮,一旦用户对 power bi 报告进行更改,我想将报告保存在数据库中。你能告诉我如何触发报告事件。看起来允许的保存事件不起作用。

另外,如果我必须在用户进行更改或创建报告后获取报告的实例,我如何再次获取报告的实例以反映新的更改?

<PowerBIEmbed
    embedConfig = {{
        type: 'report',   // Supported types: report, dashboard, tile, visual and qna
        id: '<Report Id>',
        embedUrl: '<Embed Url>',
        accessToken: '<Access Token>',
        tokenType: models.TokenType.Embed,
        viewMode: models.ViewMode.Edit,
        settings: {
            panes: {
                filters: {
                    expanded: false,
                    visible: false
                }
            },
            background: models.BackgroundType.Transparent,
        }
    }}

    eventHandlers = { 
        new Map([
            ['loaded', function () {console.log('Report loaded');}],
            ['rendered', function () {console.log('Report rendered');}],
            ['error', function (event) {console.log(event.detail);}]
        ])
    }
        
    cssClassName …
Run Code Online (Sandbox Code Playgroud)

reactjs powerbi powerbi-embedded powerbi-custom-visuals

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