小编Con*_*Low的帖子

C# - .net core DateTime 转换为 UTC 分钟偏移量

我正在测试代码并发现一个非常奇怪的行为。当我使用DateTime.MinValue,为其添加分钟并将其转换为 UTC 时,我的本地时区和 UTC 之间似乎存在 58 分钟的差异。我在中欧(冬天+1,夏天+2)。怎么会是58分钟?我预计会有 1 小时的偏移,而不是 58 分钟。我在 Linux 上使用 .net core。

var x1 = DateTime.MinValue.AddMinutes(61);
var x1ticks = x1.Ticks;
var x1kind = x1.Kind;
var y1 = x1.ToUniversalTime();
var y1tickes = y1.Ticks;
var y1kind = y1.Kind;

var z1 = TimeZoneInfo.ConvertTimeToUtc(x1, TimeZoneInfo.Local);
var z1ticks = z1.Ticks;
var z1kind = z1.Kind;
Run Code Online (Sandbox Code Playgroud)

带有评估值的代码片段带有评估值的代码片段

.net c# datetime .net-core

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

C - 函数"pthread_timedjoin_np"的隐式声明

我正在将一个Windows库移植到linux.我需要使用定时连接来等待线程加入特定的超时.

当我在Linux上编译库时,我收到了警告

函数的隐式声明 - pthread_timedjoin_np

我已经包含了pthread.h并使用-lpthread链接进行了编译.我知道pthread_timedjoin_np是一个非标准的GNU函数.该函数首次出现在2.3.3版本的glibc中.在BCD v6中的某个地方.

我甚至检查过Linux 的Man Page但没有得到任何帮助.我该如何避免这种警告?有帮助吗?

编辑-1: 我的系统是RedHat 5.

c linux multithreading porting redhat

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

svelte 取消订阅实际上是如何工作的?

我可以订阅这样的商店:

count.subscribe(value => {
  count_value = value;
});
Run Code Online (Sandbox Code Playgroud)

但是当我们想要取消订阅时,我们会将之前的订阅代码放入一个新变量中(成为函数表达式),并仅在组件被销毁时才运行它(onDestroy

const unsubscribe = count.subscribe(value => {
    count_value = value;
});

onDestroy(unsubscribe);
Run Code Online (Sandbox Code Playgroud)

问题是,如何将前一个函数放入一个名为 unsubscribe 的新变量中。可以对商店执行取消订阅功能。我的意思是,我们甚至根本不更改取消订阅实现的订阅代码,我们所做的就是将其放入一个新变量中,使其成为一个函数表达式,并且仅通过 via 调用它onDestroy,那么它如何神奇地取消订阅呢?它实际上是如何运作的?

svelte svelte-store svelte-3

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

laravel非法偏移类型错误

我有一个页面显示单个测试用例的详细信息。由于某种原因,即使发送,我也无法克服此错误$id。这是我的控制器:

public function show($id)
{
    $data =DB::table('TestCase')->where('TestCaseID', $id);
    return view('managements.testcase-details')->with($data);
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

在View.php第180行的HandleExceptions-> handleError('2','Illegal offset type','C:\ xampp \ htdocs \ terkwazmng \ vendor \ laravel \ framework \ src \ Illuminate \ View \ View.php',' 180',array('key'=> object(Builder),'value'=> null))

php laravel

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

如何在 Blazor 服务器端注销?

我在使用 Blazor 中编程注销时遇到问题HttpContextAccessor

我尝试注销,但没有执行任何操作。我想要的只是删除浏览器中的一些 cookie 并重定向到主页,以便我可以再次进入登录页面;我认为通过使用 httpcontext 注销,我可以自动删除 cookie,因为我已注销。

这是注销代码:

      @page "/"
      @* @inject IJSRuntime JSRuntime *@
      @* @inherits FragmentNavigationBase *@
      @using System.Security.Claims
      @inject Microsoft.AspNetCore.Http.IHttpContextAccessor _httpContextAccessor
      @inject NavigationManager NavigationManager
      @using System;
      @using System.Threading.Tasks;
      @using Microsoft.AspNetCore.Authentication;
      @using Microsoft.AspNetCore.Authentication.Cookies;
      @inject Blazored.LocalStorage.ILocalStorageService localStorage



      <Layout>
          <div class="container">
              <Bar
        Breakpoint="Breakpoint.Desktop"
        Background="Background.Light"
        ThemeContrast="ThemeContrast.Light"
      >
        <div>
          Booking Crew
        </div>
        <BarToggler />
        <BarMenu>
          <BarStart>
            <BarItem>
              <BarLink To="">Home</BarLink>
            </BarItem>
            <BarItem>
              <BarDropdown>
                <BarDropdownToggle>Report</BarDropdownToggle>
                <BarDropdownMenu>
                  <BarDropdownItem><BarLink To="report_crews">Report Crew</BarLink></BarDropdownItem>
                  <BarDropdownItem><BarLink To="report_studio">Report Studio</BarLink></BarDropdownItem>
                  <BarDropdownItem><BarLink To="report_schedule">Report Schedule</BarLink></BarDropdownItem>
                </BarDropdownMenu>
              </BarDropdown>
            </BarItem>
          </BarStart>
        </BarMenu> …
Run Code Online (Sandbox Code Playgroud)

c# blazor

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

Blazor 更新组件 foreach 循环内的 UI

我的 Blazor 组件与此类似:

主剃须刀

@foreach (Vehicle vehicle in _vehicles) 
{
    if (vehicle.Visible)
    {
        <VehicleComponent Vehicle=@vehicle></VehicleComponent>
    }
}

@code {
    protected override void OnInitialized() 
    {
        _vehicles = new List<Vehicles>();
        // -> _vehicles being filled here
        base.OnInitialized();
    }
}
Run Code Online (Sandbox Code Playgroud)

VehicleComponent.razor

@if (Vehicle != null) 
{
    <img src="@(Vehicle.src)"/>
    <div id="@(Vehicle.Id)" tabindex="@(Vehicle.tabindex)">
        <h3>@(Vehicle.text)</h3>
    </div>
}

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

问题是VehicleComponent循环内的所有 s 都是在循环完成后渲染的。但我希望组件在渲染下一个列表项之前完全渲染。

我尝试StateHasChanged()在 中的每个项目之后使用Main.razor,但出现无限循环。有没有办法可以在循环中依次渲染每个组件(并更新 UI)?

c# blazor

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