どうやらそうではありません。
この簡単なサンプル スクリプトを試してみました。
<%@ language="Javascript" %>
<script language="Javascript" runat="server" src='json2.js'></script>
<script language="Javascript" runat="server">
(function() {
scriptEngineInfo = function () {
var s = {
engine : ScriptEngine(),
version: {
major: ScriptEngineMajorVersion(),
minor:ScriptEngineMinorVersion()
},
build: ScriptEngineBuildVersion()
};
return s;
}
}());
var x = scriptEngineInfo();
x.Timestamp = (new Date()).valueOf();
Response.Write (JSON.stringify(x));
</script>
上記のように「Javascript」が言語の名前である場合、次の結果が得られます。
{
"engine": "JScript",
"version": {
"major": 5,
"minor": 8
},
"build": 16982,
"Timestamp": 1331866901948
}
この回答で提案されているように、Chakra を名前付きスクリプト エンジンとして構成し、上記のスクリプトの「Javascript」の 3 つの出現箇所を「Chakra」に置き換えてから、「ページ」を実行すると、正しい期待される結果が得られます。
{
"engine": "JScript",
"version": {
"major": 9,
"minor": 0
},
"build": 16441,
"Timestamp": 1331867213695
}
9 のメジャー バージョンでは、Chakra を使用しています。
しかし、同じスクリプトを再リクエストすると、次のように 500 エラーで失敗します。
解放されたスクリプトからコードを実行できません
もう一度試してみると、
外部オブジェクトでトラップ可能なエラー (C0000005) が発生しました。スクリプトの実行を続行できません。
もう一度試すと、次のようになります。
ScriptEngine は、「CActiveScriptEngine::ReuseEngine()」からの「IActiveScript::GetScriptState()」で例外「C0000005」をスローしました。
これは、このスクリプトの場合、私のマシンで再現可能です。
このことから、Chakra は ASP 環境向けに設計されていないと結論付けています。