2016-06-24 15 views
0

JavaScriptでWindows 10用のユニバーサルWindowsプラットフォームアプリケーションを作成する予定です。Windows 10(UWP)アプリケーションでWebワーカーからカスタムランタイムコンポーネントを呼び出すことはできますか

ほとんどの場合C#でカスタムランタイムコンポーネントも作成する必要があります。

私は、メインのUIスレッドからカスタムランタイムコンポーネントを呼び出すことができることは知っています。今質問は:

Webワーカー内からカスタムランタイムコンポーネントを呼び出すことは可能ですか?

特別な設定/設定/ apiが必要ですか?

ありがとうございます! Juan

答えて

1

Web Workerからカスタムランタイムコンポーネントを呼び出すことはできますか?

私は基本的なデモを行いました。カスタムランタイムコンポーネントはWeb Workerでうまく機能します。

  1. 私は、カスタムランタイム・コンポーネントを作成し、私のJSベースのUWPプロジェクトで参照:私は何をやったか

    。その後、私は以下のようにExample.csするのClass1.csを改訂:

    私のJSベースのUWPプロジェクトで
    public sealed class Example 
    { 
        public static string GetAnswer() 
        { 
         return "This is Answer"; 
        } 
    } 
    
  2. 私は以下のようなmain.js改訂:

    // Your code here! 
    (function() { 
        "use strict" 
        var w; 
        if (typeof Worker !== "undefined") 
        { 
         var w = new Worker("ms-appx:///js/webWorkerDemo.js"); 
         w.onmessage = function (evt) 
         { 
          document.getElementById("myContent").innerText = evt.data; 
          w.terminate(); 
         } 
        } 
    })(); 
    

    をし、インデックスにmyContentのdivを置きます.htmlを:

    <body> 
        <div id="myContent"></div> 
        <script src="js/main.js"></script> 
    </body> 
    
  3. 私は何もしなかったこれは、jsのフォルダの下にwebWorkerDemo.jsを追加しましたが、ランタイム・コンポーネントのGetAnswerメソッドとのpostMessageを呼び出します。

    var str = MyRuntimeComponent.Example.getAnswer(); 
        postMessage(str); 
    

アプリを実行すると、「これが答えは」アプリで正しく表示されます。したがって、Web Worker内でカスタムランタイムコンポーネントを使用する場合は問題ありません。

そして、完全なサンプルはWinJSSampleです。

+0

ありがとうございました!それは素晴らしい答えでした。 –

関連する問題