問題タブ [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.

0 投票する
1 に答える
309 参照

performance - 同時リクエストの React.Net / SuperchargedReact サーバー側レンダリング パフォーマンスを改善するにはどうすればよいですか?

React.Net と SuperchargedReact の両方の実装を使用して、ASP.NET Web サイト内から React コンポーネントのサーバー側レンダリングを試しています。

私の初期負荷テストの結果は、単一のリクエストはかなり迅速に (約 100 ミリ秒) 処理できることを示していますが、同時リクエストではパフォーマンスが急速に低下します (> 4 秒)。詳細は以下。

おそらく、私はこれらのツールを最大限に活用しておらず、テストは大雑把でしたが、パフォーマンスの改善をどこから始めればよいかアドバイスが必要です.

質問

  1. 大まかにどのレベルの同時実行を期待する必要がありますか? たとえば、同時実行は、メモリに保持できる JavaScript エンジン インスタンスの数に制限されています。または、IIS ワーカー プロセスの数に依存します。または、他の何か。

  2. パフォーマンスを向上させるには、どこから始めるべきですか - ヒント? トリック?資力?

  3. SuperchargedReact が多くのパフォーマンス改善を実装していると思われる場合に、React.Net のパフォーマンスが低下する理由を説明できます。

テストの詳細

browserify/babelify/gulp-minify を介して ES6 ソースから js バンドルを作成しました。次に、反応コンポーネントがグローバル変数を介して公開されました。反応ルーターは含まれておらず、ルーターなしで動作するように SuperchargedReact にいくつかの小さな変更が加えられました。

スレッド数と 1 分あたりのリクエスト数の制限が異なる別のサーバー上の JMeter から、約 5kb のサーバー側レンダリング ページを 1 つリクエストしました。

React.Net の結果

10スレッド

20 スレッド

50スレッド

SuperchargedReact の結果

10スレッド

React.Net よりもかなり悪いように見えたので、この時点で SuperchagedReact のテストを中止しました。

0 投票する
2 に答える
148 参照

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:

  1. Character encoding, in the light of another StackOverflow posting.
  2. HTML-XML markup conflicts.
0 投票する
3 に答える
3090 参照

javascript - ClearScript を使用して JavaScript に変数を渡す

C# 内で Javascript を実行し、C# と Javascript の間で変数を渡したいと考えています。

これを行うための現在の安定した方法は ClearScript のようです。

次のような JavaScript 関数があります。

a配列を渡して文字列をフェッチするClearScriptでそれを呼び出すにはどうすればよいですかrtnstr

この URL を見つけました: https://clearscript.codeplex.comは、整数の配列を取得する方法を示しています。1 つの文字列を取得するために必要です。

また、変数を渡す方法も知っておく必要があります。この例はそれを示していません。

0 投票する
1 に答える
220 参照

javascript - ClearScript を介して AdWords を JavaScript に公開する方法

コンテキスト: VS2015 コミュニティ。C#; ClearScript.V8.5.4.5; Google.AdWords.18.25.0

Budgets を実行するためのスクリプト環境を作成しようとしています。C# 側では、JScript 環境をセットアップし、必要なすべての AdWords の型とオブジェクトを公開しています。

私はこの種のことをすでに数回行っているので、そこに驚きはありません。

私が現在抱えている問題は、JScript 側の 1 つです。この時点でのコードは次のようになります。

この時点で、 はbosについて何も知りませんgetBillingAccountsbosそれを知る唯一の方法は、実行することです

ただし、bosと で必要な値の間に接続がなくuser、実行しようとするとgetBillingAccountsエラーが発生します。

これが派生する元の C# コードは次のとおりです。

GetServiceに呼び出しをキャストするだけで、で表示できるようBudgetOrderServiceになります。しかし、JScript ではそれができません。getBillingAccountsbos

では、ここからどこへ?

0 投票する
1 に答える
409 参照

c# - ClearScript から呼び出されたときに JScript で Adwords エラーをトラップしますか?

コンテキスト: VS2015 コミュニティ。C#; ClearScript.V8.5.4.5; Google.AdWords.18.25.0

この投稿の背景については、以前の投稿を参照してください(ちなみに、最初の難問を解決してくれた @BitCortex に感謝します)。

現在、ClearScript と C# を使用して JScript でスクリプト化された Adwords ミューテーションが機能しています。ここでの課題は、エラーを処理することです。

次のコード チャンクでは、新しい を作成していBudgetOrderます。

私が現在抱えている問題は、エラーが発生した場合exc、それ以外に役立つものがないことです。

たとえば、 andresponseundefinedです。

C# でネイティブに実行されている場合に利用できる通常のデータは、BudgetOrderReturnValue私が見ることができる場所には保存されていません。

mutate の結果をキャストしてみました

ただし、エラーが発生すると、responseまだundefinedとして設定されます。

指定した mutate の XML をキャプチャできました

で私にApp.config与えます。したがって、エラーが発生した場合、そのログに戻ってエラーの内容を確認できました。detailed_logs.logC:\Logs\Adwords

ただし、そのデータはどれもスクリプトで使用できないようです。

アイデア、誰か?

後で

残念ながら、これは機能しません。bos.mutate 行により、キャッチされないエラーでスクリプトがクラッシュします。

翌日

スクリプトを実行している EXE からの出力:

C# コード

上記の JScript コード。そのため、ClearScript エンジンは tryCatch でうまく機能していないようです。

数日後

このことから、少なくとも 1 つのことを学びました。

オブジェクトをインスタンス化するときに C# コードに挿入しJScriptEngineます。debugger;スクリプトにステートメントがある場合は、デバッグ セッションを開始するように求められます。

しかし、スクリプトに戻ります

初めて、それはうまくいきます。日付を変更せずに 2 回目にすると、AdWords エラー (日付範囲は既に取得されています) がスローされ、JScriptEngine が未処理の例外エラーをスローします。起動時にダイアログを含むデバッグセッションを開始するように求められます

そして行のハイライトresponse = bos.mutate(mutations);。そして、これは私がdebugger;声明を持っているかどうかに関係なく起こります.

そのため、ClearScript を使用した AdWords のスクリプト作成はあきらめています。おそらく、これを ClearScript の担当者にバグとして報告する必要があります。

0 投票する
0 に答える
1383 参照

c# - ASP.NET 5 の Clearscript V8 - v8-x64.dll を開けませんでした -- PE イメージに管理されたメタデータが含まれていません

ClearScript に問題があります。通常のプロジェクト (クラス ライブラリまたは wpf) からそれらを使用すると、nuget を介して依存関係が追加されると、、、およびをディレクトリにコピーするビルド後のスクリプトも追加されClearScriptV8-32.dll、すべてが正常に機能しますClearScriptV8-64.dll。しかし、このライブラリを新しい ASP.NET で使用しようとすると、問題が発生します。v8-ia32.dllv8-x64.dllbin

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.

私はただ創造しているだけです

コントローラーメソッドで。

0 投票する
1 に答える
755 参照

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) であることを報告します。これは素晴らしいことです。あまり良くないのは、画面上のマウス ポインターが一致するように移動していないことです。

ブラウザの内部現実を反映するようにマウス ポインタに指示する方法はありますか?

0 投票する
1 に答える
516 参照

c# - ClearScript で辞書エントリを更新する方法は?

コンテキスト: ClearScript、JScript、C#、Windows、Azure

私の ClearScript 対応プロジェクトではDictionary<string,object>、評価されたスクリプトの内部と外部にデータを渡すために使用する があります。

私が持っているC#側で

そしてその後

JScript側には次のようなものがあります

値を設定します。

現時点での課題は、Dictionary の値を更新することです。以下の作品

非標準の JScript であるというだけです。さらに、Notepad++ 内で使用している JSHint ツールが文句を言います。

.Remove()の前にできる.Add()と思いますが、もっと良い方法はありますか?