小编jcr*_*ruz的帖子

从同步方法调用异步方法

我看到很多关于从同步方法调用异步方法的问题,例如:How to call asynchronous method from synchronous method in C#?

我理解这些解决方案,但是,通过实验,我发现我不需要添加.Wait()orTask.Run(async () => await MyAsyncMethod())来使其同步运行。我有一个从数据库中提取信息的 get 方法。

我的代码如下,当我运行时,它会等待var task = GetItemAsync(),然后我从数据库中得到正确的结果。我发现很难相信数据库调用可以在代码继续运行之前返回,这似乎意味着它是同步运行的。我错过了什么吗?

public object GetItem()
{
     var task = GetItemAsync();
     var result = task.Result;

     return result
}
Run Code Online (Sandbox Code Playgroud)

c# asynchronous

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

将 blazor RenderFragment 从页面或组件模板化为布局

我想在 blazor 的布局页面中包含可自定义的内容。我尝试向布局添加一个RenderFragment参数,并在组件中添加同名的化妆品,但它没有在我的布局中呈现。

layout.razor

<header>
    @HeaderContent
</header>

@body

@code
{
    [Parameter] 
    public RenderFragment HeaderContent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

component.razor

<HeaderContent>
    <p>my page specific content</p>
</HeaderContnt>
Run Code Online (Sandbox Code Playgroud)

但它HeaderContent是在体内呈现的。有人能解释一下如何做到这一点吗?或者为什么它在布局中不可能?我发现有效的唯一方法是这样,但如果我更改 RenderFragment 中的绑定参数,它不会刷新内容。

layout rendering blazor

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

Bootstrap 圆角右上角

我有一个 Bootstrap list-group-flush 来显示左垂直导航。

我想让左上角变圆。class="rounded-top"有效,但是class="rounded-top-left",还是class="rounded top-left"什么都不做?

twitter-bootstrap bootstrap-4

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

无法在列表C#中保存通用接口实现

如何使列表包含通用接口的所有不同实现?

例如

public class Animal { // some Animal implementations }
public class Dog : Animal { // some Dog implementations }
public class Snake : Animal { // some Snake implementations }

public interface ICatcher<T> where T: Animal
{
    // different animals can be caught different ways.
    string Catch(T animal);
}

public class DogCatcher : ICatcher<Dog> 
{ 
    string Catch(Dog animal) { // implementation }
}

public class SnakeCatcher : ICatcher<Snake> 
{ 
    string Catch(Snake animal) { // implementation }
} …
Run Code Online (Sandbox Code Playgroud)

c# generics covariance contravariance invariance

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

ASP.NET Core 导航管理器不使用 `base href` 值

我有一个 Blazor WebAssembly 应用程序,托管在公司网络的内部服务器上,例如:https://internal.domain.com/app。该应用程序可通过反向代理从外部访问:https://external.domain.com/app

在 Blazor/C# 代码中,我们使用 .NET CoreNavigationManager设置一些重定向、路径等,这些在内部访问时可以完美运行。但在外部访问时我们遇到了一个问题,因为 的NavigationManagerURI 值是使用内部服务器地址返回的。

我们有一些代码将 HTML<base>元素的 href 值设置为应该拾取的外部地址NavigationManager。但是,导航管理器返回/期望的值仍然是内部地址,这会导致我们的路径和重定向出现问题。如文档中所述,NavigationManager.BaseUri 通常

...对应于href文档<base>元素上的属性。

我找不到有关上述声明或如何/是否可以初始化导航管理器的基本 URI 的其他信息。

有谁知道.NET Core 如何NavigationManager使用 HTML Base 元素?在这种情况下如何设置使用外部地址?

TIA

编辑:

下面是登录场景的示例代码:

  • 文件中index.html包含一些 JavaScript 来设置<base>元素和相应的外部 URL。检查页面标记时,使用外部 URL 按预期设置基本 href 值。
  • 指向App.razorRedirectToLogin.razor组件的任何未经身份验证的请求。
  • 后者重定向到外部身份验证提供程序,将返回 URL 传递给提供程序以在登录后导航到。返回 URL 使用Navigation.Uri(类似于 的绝对值Navigation.BaseUri)。根据文档,这应该使用基本 …

c# .net-core asp.net-core blazor blazor-webassembly

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

HTML 输入 CSS 背景颜色未应用

我对input[type=number]元素有一个奇怪的 CSS 行为,导致该集合background-color无法应用。该color样式已正确应用于输入的文本,并且 Chrome 的开发工具将背景颜色显示为在元素上处于活动状态,但实际输入值使用不同的背景颜色呈现(浅灰色而不是黑色 #000,如图所示) 。

有人经历过这种行为吗?是否有其他 CSS 属性可能导致此问题?

对此的任何建议或解决方案都非常感谢。提前致谢!

在此输入图像描述

html css

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