問題タブ [clearscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - 同時リクエストの React.Net / SuperchargedReact サーバー側レンダリング パフォーマンスを改善するにはどうすればよいですか?
React.Net と SuperchargedReact の両方の実装を使用して、ASP.NET Web サイト内から React コンポーネントのサーバー側レンダリングを試しています。
私の初期負荷テストの結果は、単一のリクエストはかなり迅速に (約 100 ミリ秒) 処理できることを示していますが、同時リクエストではパフォーマンスが急速に低下します (> 4 秒)。詳細は以下。
おそらく、私はこれらのツールを最大限に活用しておらず、テストは大雑把でしたが、パフォーマンスの改善をどこから始めればよいかアドバイスが必要です.
質問
大まかにどのレベルの同時実行を期待する必要がありますか? たとえば、同時実行は、メモリに保持できる JavaScript エンジン インスタンスの数に制限されています。または、IIS ワーカー プロセスの数に依存します。または、他の何か。
パフォーマンスを向上させるには、どこから始めるべきですか - ヒント? トリック?資力?
SuperchargedReact が多くのパフォーマンス改善を実装していると思われる場合に、React.Net のパフォーマンスが低下する理由を説明できます。
テストの詳細
browserify/babelify/gulp-minify を介して ES6 ソースから js バンドルを作成しました。次に、反応コンポーネントがグローバル変数を介して公開されました。反応ルーターは含まれておらず、ルーターなしで動作するように SuperchargedReact にいくつかの小さな変更が加えられました。
スレッド数と 1 分あたりのリクエスト数の制限が異なる別のサーバー上の JMeter から、約 5kb のサーバー側レンダリング ページを 1 つリクエストしました。
React.Net の結果
10スレッド
20 スレッド
50スレッド
SuperchargedReact の結果
10スレッド
React.Net よりもかなり悪いように見えたので、この時点で SuperchagedReact のテストを中止しました。
javascript - Having difficulty exposing XmlDocument to JScript using ClearScript
Context: Windows Azure; Visual Studio Community 2015; ClearScript; JScript
I'm having problems exposing an XmlDocument object to the JScripts I'm executing using ClearScript.
I am instantiating a JScript interpreter using
To instantiate the XmlDocument object I have tried both
and
and I execute the JScript script using this
My difficulty is in how to use the CSXmlDocument
object inside the script. I have tried all of the following to no avail.
When CSXmlDocument
is defined using AddCOMObject
, the second through fourth invocations give an error of
The first invocation only gives me access to three methods, Equals
, GetHashCode
, GetType
.
When CSXmlDocument
is defined using AddHostType
, the first gives just the three methods as above. The second invocation seems to give access to the full set of properties and methods (at least that's what VS2015 says in a debugging session) however, when I try to use the LoadXml
method I get
I am currently working through two possible gotchas:
- Character encoding, in the light of another StackOverflow posting.
- HTML-XML markup conflicts.
javascript - ClearScript を使用して JavaScript に変数を渡す
C# 内で Javascript を実行し、C# と Javascript の間で変数を渡したいと考えています。
これを行うための現在の安定した方法は ClearScript のようです。
次のような JavaScript 関数があります。
a
配列を渡して文字列をフェッチするClearScriptでそれを呼び出すにはどうすればよいですかrtnstr
。
この URL を見つけました: https://clearscript.codeplex.comは、整数の配列を取得する方法を示しています。1 つの文字列を取得するために必要です。
また、変数を渡す方法も知っておく必要があります。この例はそれを示していません。
javascript - ClearScript を介して AdWords を JavaScript に公開する方法
コンテキスト: VS2015 コミュニティ。C#; ClearScript.V8.5.4.5; Google.AdWords.18.25.0
Budgets を実行するためのスクリプト環境を作成しようとしています。C# 側では、JScript 環境をセットアップし、必要なすべての AdWords の型とオブジェクトを公開しています。
私はこの種のことをすでに数回行っているので、そこに驚きはありません。
私が現在抱えている問題は、JScript 側の 1 つです。この時点でのコードは次のようになります。
この時点で、 はbos
について何も知りませんgetBillingAccounts
。bos
それを知る唯一の方法は、実行することです
ただし、bos
と で必要な値の間に接続がなくuser
、実行しようとするとgetBillingAccounts
エラーが発生します。
これが派生する元の C# コードは次のとおりです。
GetService
に呼び出しをキャストするだけで、で表示できるようBudgetOrderService
になります。しかし、JScript ではそれができません。getBillingAccounts
bos
では、ここからどこへ?
c# - ClearScript から呼び出されたときに JScript で Adwords エラーをトラップしますか?
コンテキスト: VS2015 コミュニティ。C#; ClearScript.V8.5.4.5; Google.AdWords.18.25.0
この投稿の背景については、以前の投稿を参照してください(ちなみに、最初の難問を解決してくれた @BitCortex に感謝します)。
現在、ClearScript と C# を使用して JScript でスクリプト化された Adwords ミューテーションが機能しています。ここでの課題は、エラーを処理することです。
次のコード チャンクでは、新しい を作成していBudgetOrder
ます。
私が現在抱えている問題は、エラーが発生した場合exc
、それ以外に役立つものがないことです。
たとえば、 andresponse
はundefinedです。
C# でネイティブに実行されている場合に利用できる通常のデータは、BudgetOrderReturnValue
私が見ることができる場所には保存されていません。
mutate の結果をキャストしてみました
ただし、エラーが発生すると、response
まだundefinedとして設定されます。
指定した mutate の XML をキャプチャできました
で私にApp.config
与えます。したがって、エラーが発生した場合、そのログに戻ってエラーの内容を確認できました。detailed_logs.log
C:\Logs\Adwords
ただし、そのデータはどれもスクリプトで使用できないようです。
アイデア、誰か?
後で
残念ながら、これは機能しません。bos.mutate 行により、キャッチされないエラーでスクリプトがクラッシュします。
翌日
スクリプトを実行している EXE からの出力:
C# コード
上記の JScript コード。そのため、ClearScript エンジンは tryCatch でうまく機能していないようです。
数日後
このことから、少なくとも 1 つのことを学びました。
オブジェクトをインスタンス化するときに C# コードに挿入しJScriptEngine
ます。debugger;
スクリプトにステートメントがある場合は、デバッグ セッションを開始するように求められます。
しかし、スクリプトに戻ります
初めて、それはうまくいきます。日付を変更せずに 2 回目にすると、AdWords エラー (日付範囲は既に取得されています) がスローされ、JScriptEngine が未処理の例外エラーをスローします。起動時にダイアログを含むデバッグセッションを開始するように求められます
そして行のハイライトresponse = bos.mutate(mutations);
。そして、これは私がdebugger;
声明を持っているかどうかに関係なく起こります.
そのため、ClearScript を使用した AdWords のスクリプト作成はあきらめています。おそらく、これを ClearScript の担当者にバグとして報告する必要があります。
c# - ASP.NET 5 の Clearscript V8 - v8-x64.dll を開けませんでした -- PE イメージに管理されたメタデータが含まれていません
ClearScript に問題があります。通常のプロジェクト (クラス ライブラリまたは wpf) からそれらを使用すると、nuget を介して依存関係が追加されると、、、およびをディレクトリにコピーするビルド後のスクリプトも追加されClearScriptV8-32.dll
、すべてが正常に機能しますClearScriptV8-64.dll
。しかし、このライブラリを新しい ASP.NET で使用しようとすると、問題が発生します。v8-ia32.dll
v8-x64.dll
bin
dnx の Nuget ClearScript パッケージがダウンロードされます
つまり、ClearScript.dll
そこにありますが、他の4つのファイルはありません(..\..\tools\native\{x86,amd64}\*
デスクトップアプリの場合と同じように)、アプリを実行すると、
通常のプロジェクトでの経験に従って、これらの 4 つのファイルをコピーしました。
に
そして、私はこのエラーが発生します
これらの dll は何らかの形で Web バージョンでは有効ではないと思いますが、別の方法でこれらの dll を取得する必要があるのでしょうか?
WebApi テンプレートから新しい ASP.NET 5 プロジェクトを作成する際の問題を再現できました。とにかく、私が使用するプロジェクトはそれに対してコンパイルされていないため、dnx46
単一のフレームワークを使用します。core
私は使用しますClearScript.V8 5.4.3
。DNX SDK のバージョンは1.0.0-rc1-update1
.
私はただ創造しているだけです
コントローラーメソッドで。
javascript - Selenium では、ブラウザ画面で (x,y) に移動しても、マウス ポインタが移動しません。なんで?
コンテキスト: Windows 10; C# .NET; Selenium WebDriver (Chrome); ClearScript
ClearScript を使用して、いくつかの Selenium 関数を JavaScript に公開しました。スクリプトでは...
... Chrome Webdriver のインスタンスを作成し、Web サイトに移動し、「body」タグを見つけ、Actions オブジェクトのインスタンスを作成し、それを使用して (200,200) の (x,y) に移動します本体の左上隅。
そこには、ブラウザがマウスの位置を認識している場所を示すコード (表示されていません) があります。上記の後、ブラウザは内部 (x,y) が (200,200) であることを報告します。これは素晴らしいことです。あまり良くないのは、画面上のマウス ポインターが一致するように移動していないことです。
ブラウザの内部現実を反映するようにマウス ポインタに指示する方法はありますか?
c# - ClearScript で辞書エントリを更新する方法は?
コンテキスト: ClearScript、JScript、C#、Windows、Azure
私の ClearScript 対応プロジェクトではDictionary<string,object>
、評価されたスクリプトの内部と外部にデータを渡すために使用する があります。
私が持っているC#側で
そしてその後
と
JScript側には次のようなものがあります
値を設定します。
現時点での課題は、Dictionary の値を更新することです。以下の作品
非標準の JScript であるというだけです。さらに、Notepad++ 内で使用している JSHint ツールが文句を言います。
.Remove()
の前にできる.Add()
と思いますが、もっと良い方法はありますか?