2

WebService を実行する BackgroundTask を作成しましたが、デバッガーを接続してソリューションを実行すると、すべて正常に動作しますが、ゆっくりと動作します。しかし、appmanager (webinterface) で開始を押すと、常に「パッケージ [MYPACKAGEID] の開始に失敗しました」と表示されます。それで、私は何が欠けていますか?

完全なプロジェクトは次のとおりです: https://github.com/naice/HomeAutomation.git

public sealed class StartupTask : IBackgroundTask
{
    internal static BackgroundTaskDeferral Deferral = null;

    public async void Run(IBackgroundTaskInstance taskInstance)
    {
        // 
        // TODO: Insert code to perform background work
        //
        // If you start any asynchronous methods here, prevent the task
        // from closing prematurely by using BackgroundTaskDeferral as
        // described in http://aka.ms/backgroundtaskdeferral
        //

        Deferral = taskInstance.GetDeferral();

        await ThreadPool.RunAsync(async workItem => {

            RestWebServer restWebServer = new RestWebServer(80);
            try
            {
                // initialize webserver
                restWebServer.RegisterController<Controller.Home.Home>();
                restWebServer.RegisterController<Controller.PhilipsHUE.Main>();
                await restWebServer.StartServerAsync();
            }
            catch (Exception ex)
            {
                Log.e(ex);
                restWebServer.StopServer();
                Deferral.Complete();
            }

        }, WorkItemPriority.High);
    }
}
4

2 に答える 2

3

ポイントは、コードやマニフェストに問題がないことです。デバイスが「ヘッド」モードのときに実行することを意図していないようです。satrtup ヘッドレス アプリとして設定してから、デバイスを再起動する必要があります。 .

于 2016-03-04T16:29:31.220 に答える
1

編集: これらの問題はすべて、最新バージョン 10.0.14279.1000 で解消され、GUI が正常に機能するようになりました。

私はこれに苦労しており、誰かを助けるかもしれないこの方法で大成功を収めました. すべてが Power Shell で行われます

デバイスをヘッドレス モードにします。ある意味、これは必須ではないと思いますが、それなしでは成功していません。 編集:これはもはや当てはまりません。現在は正常に機能しています。

https://ms-iot.github.io/content/en-US/win10/HeadlessMode.htm

ヘッドレス モードでアプリを起動し、スタートアップ アプリ リストに追加する スタートアップ リスト タイプにあるアプリを確認するには

IotStartup startup

コマンドでヘッドレス アプリ タイプを追加するには

IotStartup add headless [Task1]

コマンドでヘッドレス アプリ タイプを追加するには

IotStartup startup headless [Task1]

アプリ名を見つけるには、コマンドを使用できます

IotStartup list

アプリがスタートアップ リスト タイプであることを確認するには

IotStartup startup

次に、デバイスを再起動してください!

また、スタートアップからアプリを削除し、Visual Studio を介してそれらをデバッグしようとすることに関連するいくつかの問題がありました。場合によっては、SD カードを新しいイメージでフラッシュすることが唯一の解決策でした。

使用可能なコマンドの完全なリストについては、

https://ms-iot.github.io/content/en-US/win10/tools/CommandLineUtils.htm

于 2016-03-10T07:12:08.210 に答える