【问题标题】:How to call IHost's Run() in a headed UWP IoT Core app如何在有头的 UWP IoT Core 应用程序中调用 IHost 的 Run()
【发布时间】:2019-04-06 09:42:53
【问题描述】:

在有头的 UWP 应用中运行 IHost 的正确方法是什么?

更新:这是为了避免在 UI 线程上运行代码时出现问题。

我今天必须有一些工作,所以现在我去了Thread.Start

internal sealed partial class App : Windows.UI.Xaml.Application
{
    (...)
    protected override void OnLaunched(LaunchActivatedEventArgs e)
    {
        (...)
        new System.Threading.Thread(() =>
        {
            System.Threading.Thread.CurrentThread.IsBackground = true;
            MyRun();
        }).Start();
    }

    public void MyRun()
    {
        (...) 
        Host = ConfigureHost().Build();
        Host.Run();
    }

    private IHostBuilder ConfigureHost()
    {
        return new HostBuilder()
            .ConfigureHostConfiguration...
            .ConfigureAppConfiguration...
    }
}

这是正确的方法吗?有没有更好的办法?

【问题讨论】:

    标签: c# uwp uwp-xaml windows-10-iot-core


    【解决方案1】:

    据我所知,我们无法在 UWP 中使用 HostBuilder 托管 Web 服务器。但是您可以通过 StreamSocketListener 托管 Web 服务器。你可以参考这个博客here。或者,您可以将 Web 服务器与 UWP 分开。

    【讨论】:

    • 我们没有托管网络服务器。我们使用 HostBuilder 来创建长时间运行的服务和依赖注入。
    • 好像UWP不支持HostBuilder。我找不到任何有关此问题的文档或文章。
    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多