小编elt*_*are的帖子

没有 Blazor 的 C# WASM

我希望能够从 JavaScript 调用 C# 代码。mono 项目曾经有一个 WASM SDK,您可以从他们的旧 Jenkins 服务器下载它,但不再公开。现有文档倾向于指向这些构建。Azure Devops 版本不包含此 SDK。我在他们的 Github 帐户上看到的一些消息表明他们现在专注于 WASM 的 .NET 6。我不想使用 Blazor 组件。.NET 6 中有没有办法在没有 Blazor UI 的情况下构建最小大小的 WASM 二进制文件?

.net c# .net-core webassembly

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

使用 multiple 和 typeahead 将所选项目添加到 ng-select

我正在使用ng-select从远程加载的大列表中选择多个值,具体取决于用户在框中键入的内容。以下是我的要求:

  1. 动态添加的标签
  2. 已选择的值不显示下拉列表。它仅用于提前输入可用的、未选择的值。

以下是我目前遇到的问题:

  • 如果所选标签不是items列表的一部分,则不会显示。
  • 使用标签对象作为一个数组[(ngModel)]品牌ng-select把它像所有不存在的价值。ng-select似乎只在[(ngModel)]when 中使用 ID [mutiple]=true,而不是在when 中使用所选对象[multiple]=false
  • tagsInput$观察到的不被解雇,如果[isOpen]=false

我已经验证它tagsService运行正常。

目前来看:

<ng-select [items]="tags$ | async"
           bindValue="name"
           [loading]="tagsLoading"
           [typeahead]="tagsInput$"
           [multiple]="true"
           [isOpen]="tagsOpen"
           [searchFn]="filterSelectedTags"
           [(ngModel)]="selectedTagIds"></ng-select>
Run Code Online (Sandbox Code Playgroud)

电流控制器:

class TagFormComponent {

  public tags$: Observable<Tag[]>;
  public tagsLoading: boolean;
  public tagsInput$: Subject<string>;
  public tagsChanger$: Subject<Tag[]>;
  public selectedTags: Tag[];
  public selectedTagIds: number[];
  public tagsOpen: boolean;

  constructor(private tagService: TagService) {

    this.tagsInput$ = new Subject<string>();
    this.tagsChanger$ = new Subject<Tag[]>(); …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs angular-ngselect angular

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

在中间件中使用.NET Core会话

当我在.NET Core中编写可缩短链并返回响应的中间件时,它不会设置会话cookie。一个简短的例子:

public class Middleware
{

    private RequestDelegate _next;

    public Middleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        var req = context.Request;
        if (req.Path.ToString() == "/hello-world")
        {
            context.Response.StatusCode = 200;
            context.Response.Headers["Content-Type"] = "text/html; charset=utf-8";
            await context.Response.WriteAsync("Hello, world!");
            return;
        }

        await _next(context);

    }

}
Run Code Online (Sandbox Code Playgroud)

这是我Startup班上的相关代码:

public class Startup
{

    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddDistributedMemoryCache()
            .AddSession();
    }

    public void Configure(IApplicationBuilder app)
    {
        app
            .UseSession()
            .UseMiddleware<Middleware>();
    }
}
Run Code Online (Sandbox Code Playgroud)

传递响应头:

HTTP 200 No Error

Server: …
Run Code Online (Sandbox Code Playgroud)

session .net-core asp.net-core-middleware

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

C#.NetStandard 2.0中的IEnumerable字符串连接

我正在尝试用.NetStandard 2.0编写一个库,显然string.Join接收IEnumerable 的方法没有重载.此代码在.NetCore 2.0中运行良好,但不是标准的:

string.Join('/', parts.Skip(index))
Run Code Online (Sandbox Code Playgroud)

c# .net-standard .net-standard-2.0

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