今回、StringTempletReplet.dll コンポーネントはいくつかのアルゴリズムを更新しました。主にメモリ内の静的変数の値に依存します。
これはテンプレートを変更せずに実行されました。テンプレートをキャッシュし、デリゲートをキャッシュし、タグ解析データをキャッシュします。ただし、これにより多くのメモリが消費されます。
テンプレートを動的に変更するには、その都度ファイルの時刻を検出する必要があります。これに多くの時間を費やしました。おそらく将来的には、テンプレートを動的に変更する機能は削除され、どのテンプレートファイルを再読み込みするかをテンプレートクラスに通知するインターフェースのみが提供されるべきでしょう。
このページをキャンセルしました (RetuenString.aspx - タグ文字列を受け入れ、解析結果を返します)
結局のところ、タグはスクリプト言語を構成するものではありません。この関数は意味がありません。
このテンプレート クラスの使い方がわからないという人もいます。ここで簡単に説明しましょう。
テンプレート クラスの主な機能は、ページ テンプレート全体を読み取ることではありません。主にページフラグメントテンプレートを読み取ります。断片を読み取り、解析して表示するだけです。
ブログ開発などの Web2.0 サイトに。ユーザー定義スキンのページ。言い換えれば、完全な静的ページはニュース システムの更新において大きな役割を果たします。
タグの機能は、タグ解析関数によって拡張されます。したがって、テンプレート クラスの速度は、StringTempletReplet.dll コンポーネント自体の実行速度だけではありません。タグ解析関数の実行時間も加算します。この例で提供されているタグ解析関数は、単純な文字列を返すだけです。
便宜的に名前を付けただけです。テンプレート クラスが行うことはステージを提供することだけです。そして、テンプレート クラスの実行時間を高速化してみてください。タグ解析機能が常に実行されるかどうかについて。どのくらい時間がかかりますか。それは人を使うということです。
通常の置換テンプレート クラスも作成されています。しかし、私は自分でテストして、200 万を超える長さの文字列に対してタグ位置分析を実行しました。ポインターの位置決めよりも 8 倍以上遅くなります。テンプレート文字列の長さが減少し続ける場合。おそらく時間の経過とともにその差は縮まるでしょう。ただし、2 つのラベルの位置決め時間が同じであってもです。文字列の不変性に従って、文字列を継続的に置換すると新しい文字列が生成されます。リソースを消費しすぎます。
Business.cs は UI レイヤーまたはロジック レイヤーに配置できます。 FunctionList クラスを継承するだけです。このクラスを継承するには、静的コンストラクターをオーバーライドするだけです。静的コンストラクターでラベルとラベル実行関数の対応を確立します。
実は、以前のバージョンでも実行ラベルが書かれていました。ラベル名の前に「実行_」マークを追加するだけです
{$実行ラベル名:パラメータ1:パラメータ2:パラメータ3::文字10$}
これにより、静的コンストラクターをオーバーライドする必要がなくなります。それは反省を通じて行われます。しかし、速度は非常に遅いです。その後キャンセルされました。結局のところ、テンプレート クラスでは速度が重要です。
以前は、圧縮ファイルは gif 画像として使用されていました。それを NetEase プロファイルに渡します。しかしその後、NetEase が写真を検査しました。誰もが止められないようにする。新しい場所を探しています。画像の位置が変わります。
今は