Web Workerからカスタムランタイムコンポーネントを呼び出すことはできますか?
私は基本的なデモを行いました。カスタムランタイムコンポーネントはWeb Workerでうまく機能します。
私は、カスタムランタイム・コンポーネントを作成し、私のJSベースのUWPプロジェクトで参照:私は何をやったか
。その後、私は以下のようにExample.csするのClass1.csを改訂:
私のJSベースのUWPプロジェクトで public sealed class Example
{
public static string GetAnswer()
{
return "This is Answer";
}
}
私は以下のような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>
私は何もしなかったこれは、jsのフォルダの下にwebWorkerDemo.jsを追加しましたが、ランタイム・コンポーネントのGetAnswerメソッドとのpostMessageを呼び出します。
var str = MyRuntimeComponent.Example.getAnswer();
postMessage(str);
アプリを実行すると、「これが答えは」アプリで正しく表示されます。したがって、Web Worker内でカスタムランタイムコンポーネントを使用する場合は問題ありません。
そして、完全なサンプルはWinJSSampleです。
ありがとうございました!それは素晴らしい答えでした。 –