問題タブ [extensibility]

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 に答える
226 参照

wcf - TryReceiveRequest が無限に呼び出される

追加のソースから HTTP メッセージを受信できるようにするためのカスタム バインディングを作成しました。ただし、まだバグがないわけではありません。

私のサービスは、最初のリクエストが処理されるとすぐに CPU 使用率を最大 100% に押し上げ、より多くのリクエストが入ってくるほどサービスが遅くなるのを観察しました。バインディングの機能。

最初のリクエストが入る前までは、すべて正常に動作します:

次に、最初のメッセージの処理が行われます。

チャネルは IReplyChannel インターフェイスを実装しているため、要求を取得して応答し、チャネルを閉じることしかできないはずです。チャネルを閉じるだけでなく、ServiceModel は、過去に使用されていたチャネルに関係なく、既に使用されているチャネルで TryReceiveRequest をスパムし続けます。

これを適切に修正する方法はありますか?応答コンテキストを閉じた後に ServiceModel がチャネルを閉じないのはなぜですか?

0 投票する
4 に答える
8518 参照

prism - MEF:PRISMの代わりになりますか?

MEFはPRISMの代わりになりますか?

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

silverlight - DataBinding 用に Silverlight TabControl を拡張するにはどうすればよいですか?

Microsoft の Yi-Lun Luo 氏は次のように述べています。

[現在] TabControl は PrepareContainerForItemOverride をオーバーライドしないため、TabItems でデータ ソースを自動的にラップしません。

問題は、次のような独自のコントロールを作成するにはどうすればよいかということです。

  1. TabControl を拡張します。
  2. PrepareContainerForItemOverride をオーバーライドします。
  3. TabItems または独自の TabItemExtended コントロールでデータ ソースを自動的にラップしますか?
0 投票する
1 に答える
82 参照

iis-7 - IIS 7(.5)のWebサイトページにカスタムタスクを追加する

TaskItem(またはTaskList)をWebサイトページ(Webオブジェクトのホームページ)に追加することはできますか?

アドインへのコンテキストアクセスを提供したいのですが、適切な統合ポイントが見つからないようです。

0 投票する
3 に答える
312 参照

c# - デザインにカスタマイズ フックを実装する最良の方法

アプリケーションにカスタマイズ フックを挿入する最良の方法は何だろうと考えています。基本的に、私のアプリケーションは 2 つのアセンブリに分割されます。Coreすべてのビジネス ロジックをUserInterface含むアセンブリと、GUI、コントローラー クラス (「パッシブ ビュー」と呼ばれる逸脱した MVC パターンを使用しています)、およびいくつかのヘルパー クラスを含むアセンブリです。コア アセンブリは、他のいくつかのアプリケーションでも使用されます。

私のアプリケーションは、当社が他社からの注文を処理するために使用しています。一般的なプロセスはすべての企業で同じですが、顧客固有の小さな違いがあります。現在、これらの逸脱は、においがするコア アセンブリに直接実装されています。これらの詳細を分離し、顧客ごとに 1 つのオブジェクトにカプセル化して、UserInterface アセンブリに入れることができるすべての顧客固有の詳細を含む中央オブジェクトを作成したいと考えています。

これを達成するためにイベントを使用することを考えました。コア クラスにいくつかのイベントを追加することで、コントローラー クラスは、特定の顧客向けにこれらの逸脱を実装するメソッドをサブスクライブまたはサブスクライブ解除できるようになります。

これを行うには 2 つの方法が考えられます。これらのバインドを手動で追加するか、逸脱したメソッドが存在する場合は自動的に追加するかです。後者については、次のようなことを考えています。

これを達成するにはリフレクションを使用する必要があると思いますが、これは何度も実行する必要がある操作に対して実行可能ですか?

または、カスタマイズ フックを追加しながら、顧客ごとに偏差を一元化するより良い方法はありますか?

[編集] 質問を完全に修正しました。

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

visual-studio - Visual DSL にデータベース情報を設定する

次の問題を解決する必要があります。

  1. 現在、メモリ内表現と独自のスキーマ XML シリアライゼーションを持つデータベース スキーマのメタデータ ツリーがあります (つまり、メモリ内のすべてのデータを xml ファイルに読み書きできます)。

現在、Visual DSL ソリューション (ダイアグラムのようなもの) を開発しています。これは、データベース スキーマを使用した操作を容易にするためであり、次のガイダンスが必要です。

データベース スキーマ情報を含むメタデータ ツリーから DSL モデルを生成したいのですが、どの方法が最適かわかりません (DSL を初めて使用するので、考えられるすべての方法を確認できるかどうかわかりません)。 . これまでのところ、次のことを知っています。

  1. Visual Studio で DSL アイテムを作成するときに、メタデータ ツリーを作成するスキーマを取り出し、新しいアイテム用に作成された DSL ファイル内の DSL の XML スキーマにシリアル化します。そうすれば、DSL を開いたときに、正しく逆シリアル化されます。ただし、これには、独自のデータを DSL で必要なデータに変換するための多くのコードが必要です。

  2. 可能であれば、metadat ツリーをインスタンス化し、それをトラバースして、コード/API を介して同時に DSL モデルを変更したいと考えています。

したがって、その方向へのガイダンス (あなたのやり方) は、私にとって価値があります。

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

design-patterns - 継承に基づく API は OCP に違反しますか? これはプロバイダー モデル/依存性注入で実現できますか?

初めて API を設計し、SOLID ガイドラインに従おうとしています。私が苦労していることの 1 つは、OCP とテスト容易性と、単純さと拡張性の容易さとのバランスを取ることです。

このオープンソース API は、科学的なモデリングと計算を対象としています。目的は、さまざまなグループが特定のモデルをこの「プラグ可能な」アーキテクチャに簡単にインポートできるようにすることです。したがって、プロジェクトとしての成功は、これらの科学者が不必要なオーバーヘッドや急な学習曲線なしでドメイン固有の知識を容易に伝えることができるかどうかにかかっています。

たとえば、計算エンジンは「ベクトル化された」計算に依存しています。1 つのスカラー値だけを計算する必要はほとんどありません。多くのモデルはこれを利用して「オーバーヘッド」計算を実行し、各スカラー サブ計算で再利用できます。しかし、ユーザーがデフォルトのベクトル化動作を継承する (または別の方法で提供される) 単純なスカラー操作を定義できるようにしたいと考えています。

私の目標はそれを作ることでした

1) 初心者ユーザーが基本的な計算モデルをできるだけ簡単に実装できるようにする 2) 上級ユーザーがベクトル化動作をオーバーライドできるようにできるだけ簡単にする

...もちろん、SoC、テスト容易性などを維持しながら。

いくつかの改訂の後、シンプルでオブジェクト指向のものになりました。計算コントラクトはインターフェイスを介して定義されますが、ユーザーは、デフォルトのベクトル化を提供する抽象 ComputationBase クラスから派生することをお勧めします。以下は、デザインを縮小したものです。

ComputationBase のベクトル化された Compute には、もともと (コンストラクター DI を介して) プロバイダー パターンを使用していましたが、スカラーの Compute は抽象化したままにしました。基本クラスは常にベクトル化操作を「所有」しますが、注入されたプロバイダーに計算を委譲します。これは、テスト容易性とベクトル化コードの再利用の観点からも、一般的に有益であると思われました。ただし、これには次の問題がありました。

1) スカラー (継承) およびベクトル (プロバイダー) 計算のアプローチの不均一性は、ユーザーを混乱させる可能性が高く、要件に対して過度に複雑に見え、コードの悪臭を放っていました。

2) ベクトル化のために「別個の」プロバイダーを作成することは、漏れやすい抽象化でした。プロバイダーがスマートに何かを行う場合、通常、クラスの実装に関する内部知識が必要になります。それらを実装するためにネストされたプライベート クラスを作成していることに気付きました。

これは、OCP 対テスト容易性対シンプルさを考慮した適切なアプローチですか? 他の人は、さまざまなレベルの複雑さで拡張するために API をどのように設計しましたか? 私が含めたよりも多くの依存性注入メカニズムを使用しますか? また、この特定の例に対する回答と同じくらい、優れた API 設計に関する優れた一般的な参考文献にも関心があります。ありがとう。

ありがとう、デビッド

0 投票する
4 に答える
28984 参照

visual-studio-2008 - Visual Studio 内の Powershell

Visual Studio 内で powershell を実行する方法を知っている人はいますか?

つまり、ツール ウィンドウに対話型の PowerShell プロンプトを表示しますか?

親切、

ダン

0 投票する
3 に答える
1229 参照

c# - ASP.NET WebControls の拡張: パブリック プロパティを効果的に非表示にする方法

DateValueTextBox WebControl を拡張して、コード ビハインドで値をプロパティ () として公開する一種の「DateTextBox」として機能させます。

このコントロールは日付でのみ使用されることになっているため、親からTextプロパティを継承する理由はありません。

それを非表示にする方法はありますか?.. a を実装する以外にNotImplementedException、次のように:

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

graphics - 構築できるグラフィック エディタは何ですか?

有能なベクトル グラフィック描画/編集プログラムから始めて、それを拡張して、現在取り組んでいるプロジェクトのビジュアル デザイナーを作成したいと考えています。

上に構築できるグラフィックエディタを知っていますか? もしかしてオープンソース?ユーザーはすでにグラフィックスを自由に描画および色付けできるはずであり、要素をグループ化/配置する任意の形式がプラスになります.