問題タブ [castle-monorail]
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.
linq-to-sql - CastleMonoRailのDataBinder/SmartDispatcherControllerを取得して、インターフェイスであるプロパティを含む型に対してバインドするにはどうすればよいですか?
ドメインモデルでエンティティクラスを表すためにインターフェースを使用しています。LinqToSqlを使用することにより、これらの具体的な実装があります。サービスレイヤーが新しいエンティティをインスタンス化するために使用する各LinqToSqlクラスにファクトリメソッドを追加しました(コントローラーのDataBind属性がインスタンス化するのとは対照的です)。
MonoRailのデフォルトのDataBinder実装は、インターフェースとして定義されているプロパティを無視します。
理想的には、MonoRailでデータレイヤークラスをインスタンス化する必要はありません。インターフェイスの要点は、これらの懸念を分離することです。
また、LinqToSql以外の具象クラスの別のセットを作成する必要はありません。このクラスの唯一の仕事は、レイヤー間での変換です。
ここで本当に長い一日の終わりです。誰かが慈悲を持って、私たち自身の実装でオーバーロードする必要があるIDataBinderの部分を指摘したり、私たちが試みる可能性のある他のアプローチを示唆したりできますか?;-)
castle-monorail - NVelocity、foreach、および2つのリストに関する問題
次の問題を解決する簡単な方法はありますか?
モデルからコントローラー内のいくつかの本を含むIListをフェッチするとします。次に、出力を強化し、外部フレームワークからの別のモデルを使用してAmazonからプレビューをフェッチし、別のIListを取得します。
今、私は両方のIListをプロパティバッグに入れました。
NVelocityでは、ブックリストに#foreachを使用していますが、適切なプレビューでアマゾンブックリストにアクセスするにはどうすればよいですか?$ amazonbook [index]を使用できません。ここで、indexはisbnになります。他の2つのオブジェクトのみを含む単純なonjectを使用して、両方のリストを1つの大きなリストに入れる必要が本当にありますか?
両方のモデルが異なるフレームワークからのものであり、1つのフレームワークに配置できないことを忘れないでください。両方のフレームワークは分離されたままでなければなりません。私はNVelocityの問題を解決しようとしていますが、もちろん、この問題は単なる例であり、本は販売していません;)
c# - MonoRail のさまざまなアクションで、拡張機能の有無にかかわらず使用できますか?
Castle MonoRail で Web アプリケーションを構築したいと考えています。拡張機能のあるアクションと拡張機能のない別のアクションをどのように使用できるのか疑問に思っていました。HTML ヘルパー ジェネレーターの URL をどのように作成できますか?
元:
c# - サービス層とリポジトリ
私は MVC フレームワークをしばらく使用していますが、懸念事項がどのように分離されているかが本当に気に入っています。私は、コントローラーにかなりの作業を任せるという悪い習慣に陥っています。だから私は本当にいくつかのアドバイスを探しています。
私が MVC を使い始めた当初は、データベースの作業が完了した後で、コントローラーがモデルを操作することがよくありました。私はこれが悪いことを知っていたので、モデルに働きかけました。ただし、モデルを非常に学習させたいので、これには満足していません。
私は少し読んだことがありますが、私が気に入っているサービスレイヤーを使用することで、人々がコントローラーとモデルをスリムに保っていることがわかります。
サービスレイヤーとリポジトリがどのように連携するかを理解しようとしています。これが私の仮定です。これが良い方法であるかどうか教えてください。
- データに対して操作を行う必要がなく、そのようなサービス層が関与する必要がない場合、コントローラはリポジトリを直接呼び出すことができます。
- データ (ビジネス ロジック) に対して何らかの作業を行う必要がある場合、これはサービス レイヤーで実行する必要があり、コントローラーは必要に応じてサービス レイヤーへの単純な呼び出しを行います。
- サービスがビジネス ロジックを完了すると、必要に応じてリポジトリが使用されます (データを永続化する必要がある場合)。
- モデルは理想的には無駄のない状態に保ち、理想的には DTO に過ぎないものとして機能する必要があります
- データの検証はモデル内で行われます (MonoRail 検証属性を使用)。多くの属性でモデルを汚染するのが好きな人はいないと思いますが、それは別の議論です. UI での自動 jQuery 検証に対する MonoRail の検証属性の利点が気に入っています。
私はすべてのコードを単一責任の原則に変えようとしているため、コーディングの慣行を整理しようとしています。
ありがとう
c# - (ASP.NET / MonoRail) Web サイトのユーザーがどのタイムゾーンにいるかを調べる方法は?
そのため、有効期限が切れる Cookie を設定しています。しかし、私はこれが世界中で機能することを望んでいます。そのため、ユーザーのタイムゾーンに合わせて有効期限を調整する必要があります。
したがって、サーバー側でユーザーのタイムゾーンを見つける必要があります。
BCLでこれを行う方法はありますか? のように、CultureInfo.CurrentUICulture が正しく設定されていることに依存し (MonoRail LocalizationFilter は設定されていると思いますが、まだ適切にチェックしていません)、ユーザーがどのタイムゾーンにいるのかを把握します (夏時間も考慮します)。そこにも)それに基づいて?
.NET 3.5 には System.TimeZoneInfo がありますが、ID が何であるか (ISO コードかどうか) に関するドキュメントはほとんどありません。
それとも、クライアント側の何かに依存して、たとえば Date.getTimezoneOffset() からこの情報をプッシュするのでしょうか? クライアント側が嘘をつくので、私はそれを避けたいと思います。
asp.net-mvc - ASP MVC.net の ARDatabind に相当する LINQ はありますか?
特定のエンティティをロードし、アクティブ レコード/モノレールで変更された値のみをデータバインドするように LINQ に指示するアクションのパラメーターに設定できる属性はありますか( ARDataBindingを参照) 。
c# - # アンカーへの MonoRail リダイレクト
jQuery のタブ付きナビゲーションでキャッスル モノレールを使用しています。
コントローラー アクションを処理するときに、ビューにリダイレクトして、どのタブを表示するかを制御したいと考えています。したがって、コントローラーをビュー内の特定のアンカーにリダイレクトさせたいと思います。次のようなものです。
結果の URL:
ただし、実際の結果は#記号を%23にエンコードします。
ここで基本的な概念が欠けていることは確かです。これを解決するにはどうすればよいですか?
javascript - CastleProject MonoRailsのformhelper.jsとbehaviour.jsを組み合わせて圧縮しますか?
CastleProject MonoRails MVCを使用していて、formhelperとbehavior jsファイルを結合してmonorails.jsのようなものに圧縮できるかどうかを知っている人はいますか?
Webリクエストの量をできるだけ少なくしたい。
caching - Castle MonoRail アクションへのリクエストをブラウザに強制的にキャッシュさせますか?
私たちのプロジェクトでは、小さな css/js ファイルがたくさんあるので、ビューを作成するときに、たくさんのタグ<link>
や<script>
タグを書いていることに気づき、ブラウザーは css/js コンテンツに対して多くのリクエストを行う必要があります。これを改善するために、アクションに関連付けられたすべての css ファイルまたはすべての js ファイルを応答にダンプする 1 つの要求にサーバーがすべてをまとめる方法を探し始めました。
詳細は省きますが、ファイルを受け入れて連結し、次のようにタグをレンダリングするヘルパー クラスを作成しました。
<script type="text/javascript" src="/content/js15628453.rails"></script>
ContentController には、「js15628453」を使用してヘルパーが連結ファイルを保存した場所を見つけ、それをストリーミングするデフォルト アクションがあります。これは本当にうまくいきます。
ただし、Firebug が報告しているように、ブラウザーは常に "/content/js15628453.rails" にリクエストを送信して、連結されたファイルを取得します。これは、URL が常に同じであり、応答が常に同じであるという事実にもかかわらずです。Cache-Control
HTTP 、Expires
、などのヘッダーのすべてのタイプの組み合わせを試しましたがLast-Modified
、Firebug がキャッシュから読み込まれたと報告するものをまだ取得していません。
ブラウザーがこれらのヘッダーを無視するのはなぜですか? 強制的にキャッシュするために試みることができる他のオプションはありますか?