小编Sos*_*der的帖子

给组件提供唯一键时,可以使用Math.random()生成这些键吗?

问题如下:

我有几千个元素列表的数据.其中一些是重复的,然后可能有重复键的机会.因为我没有真正的"ID"或任何能让我有机会将所有元素作为唯一键的ID,所以可以使用Math.random()吗?

据我所知,密钥主要用于区分组件.我认为,就我的代码中的密钥没有任何关系,这应该没问题?为了确保没有重复的数字,我可以将两个数学格式相互分开以获得几乎肯定唯一的密钥.

这是一个好习惯吗?我可以使用它而不必担心任何事情吗?

reactjs

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

使用Path.Combine而不是使用'+'连接字符串有什么好处?

我看不出有什么区别.

什么Path.Combine比完美的字符串连接更好?

我猜它在背景中做了非常相似的事情.

任何人都可以告诉我为什么它往往是首选?

c# concatenation

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

找不到方法:Microsoft.WindowsAzure.ServiceModel.Service.set_IsSLBPartialGS(Microsoft.WindowsAzure.ServiceModel.Expression)

一段时间以来,在尝试使用Azure模拟器启动任何类型的应用程序时,我都遇到以下错误:

Microsoft Azure Tools: Method not found: 'Void Microsoft.WindowsAzure.ServiceModel.Service.set_IsSLBPartialGS(Microsoft.WindowsAzure.ServiceModel.Expression)'.
Run Code Online (Sandbox Code Playgroud)

重新启动计算机通常可以解决一段时间,但是我每天都会遇到此问题,并且如果我一次看到此警告,则没有重新启动的方法就无法解决。

可悲的是,我也找不到很多文档(如果有)。

我正在使用Azure工具V2.9。

有没有人有解决方案,或者至少暗示这可能是什么?

c# azure azure-storage

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

Blazor 无法从其他文件夹找到引用的组件

我正在尝试 Blazor WebAssembly,并希望在 Visual Studio 预先生成的示例项目之上创建一些新组件。

所以,基本上我最终得到的是以下文件夹结构:

Project
\ Components
  \ Navigation
    \ BurgerMenu.razor
      BurgerMenu.razor.css
      BurgerMenu.razor.less
\ Shared
  \ MainLayout.razor
    MainLayout.razor.css
    MainLayout.razor.less
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。这是我的组件:

MainLayout.razor:

@using Components.Navigation;

@inherits LayoutComponentBase

<div class="sidebar">
    <BurgerMenu />
</div>

<div class="LayoutContainer">
    @Body
</div>
Run Code Online (Sandbox Code Playgroud)

汉堡菜单.razor:

<div>
    Test Component
</div>

@code
{
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,到目前为止还没有什么值得大书特书的。

但是,我无法让它正常工作。每个构建都会抱怨warning RZ10012: Found markup element with unexpected name 'BurgerMenu'. If this is intended to be a component, add a @using directive for its namespace.

所以,我现在有点迷失了。根据官方文档,@using 语句应该是从文件夹导入组件的正确方法 - 文件夹就在那里。然而,这仍然行不通。

如果我将 BurgerMenu.razor 移动到 /Shared 文件夹中,则一切正常。 …

c# blazor

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

Set-Cookie 中的 Cookie 被浏览器忽略

我确实在设置 cookie 时遇到了问题。我在 Azure Functions 上运行一个小型应用程序,并以静态网页作为前端,并且在登录请求时,我的函数在响应中正确返回 cookie。这是来自我的 Azure 函数的整套响应标头。

HTTP/1.1 200 OK
Date: Sun, 11 Oct 2020 20:40:16 GMT
Content-Type: application/json; charset=utf-8
Server: Kestrel
Content-Length: 180
Set-Cookie: RefreshToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJVc2VyTmFtZSI6IlNvc3NlbmJpbmRlciIsImV4cCI6IjYzNzM4MDQ2NTE3MTM3NjE4NCJ9.CCv3a41iPut4eC9jK2eqAzOLP5tWLjMlRgduSkUpS40; expires=Mon, 11 Oct 2021 20:40:17 GMT; path=/; samesite=lax
Set-Cookie: Test=Val; path=/
Access-Control-Expose-Headers: Set-Cookie
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我添加了正确的令牌以及一个小的测试 cookie,只是为了验证它是否可以与一个非常简单的 cookie 一起使用。提示一下,不是的。

这是我的要求:

在此输入图像描述

可悲的是,无论我尝试什么,chrome 和 firefox 都完全忽略我的 cookie。无论我如何尝试,我都还没有成功获得一块饼干。

我现在在本地主机和 *.web.core.windows.net 静态网站上尝试过它,但我就是无法让它工作。

我认为我的后端不是罪魁祸首,因为响应标头似乎设置正确。但有些事情不太对劲。我已经阅读了很多线程,现在提到应该设置什么和不应该设置什么,我现在可能已经尝试过它们了。无论是安全标志、同站点标志等等。

我在这里缺少什么?

编辑:我在http://www.filedropper.com/cookieproblem添加了一个最小的可重现示例

跑步:

  1. 导航到包含 CookieProblem.csproj 的“CookieProblem”文件夹。打开 cmd 并使用“func start”运行它(需要 Azure Functions CLI 工具)

  2. 现在,在 VS 中运行 BlazorApp1。打开页面并保持开发工具打开。加载时,它应该向网络选项卡中名为“运行”的本地运行函数发出请求。

  3. 现在它也不应该为您设置 cookie。

c# cookies http azure-functions blazor

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

我想在悬停事件中为我的按钮添加边框而不移动按钮或任何东西

现在我想在按钮上悬停时实现边框.

该按钮与其他3个按钮一起位于div中.但是,只要我将鼠标悬停在它上面,就会显示边框,但同时按钮也会扩大添加边框的大小,这不是我的想法.

我做了一个小提琴来证明这个问题:点击我

我在这里读到了这个主题,我确实找到了一个解决方案margin-top: 3px; ,然而,通过添加到悬停类,"挤压"按钮,这不是我想要的.

相反,我希望按钮不会看起来像压缩或任何东西,而只是简单地用4px边框覆盖按钮的前4个px.

有什么建议?

提前致谢

html javascript css jquery css3

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

如何使用依赖于libiconv的MinGW安装go包

我目前正在尝试设置一个Go项目,考虑到我正在运行Windows,而其他两个开发人员正在使用Mac,我在安装一些软件包时遇到了一些麻烦.

在尝试使用cmd安装软件包之后,我只能安装4个中的2个.其他两个需要gcc.

因此,我安装了MinGW.我能够以这种方式安装第三个软件包,但现在我被困在https://github.com/mikkyang/id3-go上.

它似乎依赖于另一个基础项目,https://github.com/djimenez/iconv-go.我尝试go installid3-go 的那一刻,我总是留下这个错误:

src\github.com\djimenez\iconv-go\converter.go:8:19: fatal error: iconv.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

不知何故,我需要将libiconv与MinGW一起使用,但我不知道如何连接两个部分.我不是那个领域的专家,所以任何帮助都会受到很多赞赏.我已经下载了libiconv for Windows.

我在github项目中找到的其他信息的相关问题:https: //github.com/mikkyang/id3-go/issues/21

编辑:我在整个问题上取得了一些进展.我现在得到了我需要的所有文件,但现在我遇到了这个警告:

# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -liconv
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

我试图将libiconv2.a从我的libiconv安装添加到mingw32 lib文件夹,但这就是我最终的结果:

# github.com/djimenez/iconv-go
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib\libiconv.a when searching for -liconv
E:/Tools/TDM-GCC/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping …
Run Code Online (Sandbox Code Playgroud)

windows gcc mingw go libiconv

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

如何从 dotnet watch run 中排除某些文件类型?

希望进行以下设置:

我正在开发 Blazor 应用程序,并使用官方的 css 隔离捆绑器。不过,我使用的是Less,并安装了 Less 转换器,它在构建时创建所需的 css。

然而,通过运行我的应用程序dotnet watch run,它现在通常会陷入无限循环。

其原因可能是dotnet watch run看到文件发生更改*.razor.css、重建,并且循环不断重复。

所以这是我的问题:

如何配置我的 csproj(新的网络标准格式)以**\*.razor.css从监视过程中排除?如果它从我的 VS 解决方案整体中消失也没关系。

msbuild csproj .net-core dotnet-tool

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

如何在 protobuf-net.grpc 的消息中使用 IAsyncEnumerable?

所以,最近我学习了如何在 的帮助下使用 protobuf-net.grpc 进行流式传输IAsyncEnumerable<T>。这一切都运行得很好,但我现在面临着一些问题。

对于我的一些调用,我想使用一些元数据以及流作为参数进行调用。

例如:

[OperationContract]
Task<bool> UploadPicture(ProfilePictureQuery query);
Run Code Online (Sandbox Code Playgroud)

带有以下签名:

[ProtoContract]
public class ProfilePictureQuery
{
    [ProtoMember(1)]
    public IAsyncEnumerable<byte[]> RawDataStream { get; set; }

    [ProtoMember(2)]
    public string FileExtension { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,当尝试调用它时,我遇到了类似的异常'Status(StatusCode=Unimplemented, Detail="Method is unimplemented.")。我知道状态响应有点神秘,所以我发现这实际上只是参数的问题。

那我该怎么做呢?

我还尝试使用以下签名来做到这一点:

[OperationContract]
Task<bool> UploadPicture(IAsyncEnumerable<byte[]> rawDataStream, string fileExtension);
Run Code Online (Sandbox Code Playgroud)

具有相同的结果,因为我显然只允许提供单个参数(符合一个消息参数和一个响应输出的 grpc 定义)。

Sooo,那我该怎么做呢?

c# protobuf-net grpc

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

有没有办法通过VS2019在docker容器中运行.net core单元测试?

我目前正在寻找如何在 docker 容器内测试我的 .net core 单元/集成测试项目的方法。

我已经知道dotnet test并且知道如何创建正确的 Dockerfile 来使其正常工作,但我正在寻找一种直接通过 VS2019 执行此操作的方法,而不是通过 cli 或 vs code 执行此操作。

我想这样做是为了潜在地调试单元测试,以及利用很好的 VS 单元测试会话概述。

本质上,我必须教授嵌入式单元测试启动/调试按钮来触发 dotnet 测试,并可能附加调试器。

有什么办法可以做到这一点吗?

unit-testing visual-studio docker .net-core visual-studio-2019

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