問題タブ [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.
asp.net-mvc - MVCロジック、ビュー、ヘルパー-特定のストーリー
私と同僚は、ページ上にリンクを生成する方法について話し合っています。HTMLヘルパーを使用する必要がありますか、それともビューに非常に単純なビューロジックを保持する必要がありますか?
このプロジェクトでは、CastleMonorailとNVelocityビューエンジンを使用しています。以下の両方の選択肢を検討し、意見を述べてくださった方に感謝いたします。
このストーリーでは、リンクは現在1ページでのみ使用されています。
オプション1-ヘルパー付き
ヘルパーコード
そして、ビューでは、次のようにヘルパーを呼び出します。
オプション2-すべてビュー内
.net - 自動的にHTMLエンコーディングNVelocity出力(EventCartridge&ReferenceInsert)
私は、MonoRailアプリで特定の文字列を自動的にHTMLエンコードするようにNVelocityを取得してみたかったのです。
NVelocityのソースコードを調べたところEventCartridge
、さまざまな動作を変更するためにプラグインできるクラスのようです。
特に、このクラスには、ReferenceInsert
私が望んでいることを正確に実行しているように見えるメソッドがあります。基本的に、参照の値($ foobarなど)が出力される直前に呼び出され、結果を変更できます。
うまくいかないのは、実装を使用するようにNVelocity / MonoRailNVelocityビューエンジンを構成する方法です。
Velocityのドキュメントでは、velocity.propertiesにこのような特定のイベントハンドラーを追加するためのエントリを含めることができると提案されていますが、この構成を探すNVelocityソースコードのどこにも見つかりません。
どんな助けでも大歓迎です!
編集:この動作を示す簡単なテスト(概念実証であり、製品コードではありません!)
castle-monorail - 感嘆符付きのURLを書き換えるときに、コントローラーで問題が見つかりません
モノレールでは、記事の投稿にわかりやすいURLを与えるためにURL書き換えルールを作成しようとしています。URLは次のようになります。
http://domain.com/2010/11/29/Winter-snow-warning
そして、URLを書き直すためのglobal.asax.csのコードは次のとおりです。
これはうまく機能しますが、URLに感嘆符がある場合:
http://domain.com/2010/11/29/Winter-snow-warning !!
次に、書き換えルールに一致せず、コントローラー「2010」が見つからないとエラーが発生します。私はここで何が欠けていますか、これはモノレールのバグですか?
http - モノレール-POSTの代わりにGETを使用したフォーム送信
Castle MonoRailベースのサイトに、追加フォームと編集フォームを含むいくつかの追加を書いています。追加フォームは正常に機能し、POSTを使用しますが、編集フォームはGETを使用します。私が見ることができる唯一の大きな違いは、クエリ文字列で編集されているオブジェクトのIDを使用してeditメソッドが呼び出されることです。編集フォームで送信ボタンを押すと、渡される引数はこのオブジェクトIDのみです。編集フォームのコードは次のとおりです。
これと追加フォームの違いは、関連付けに関係する速度と、PropertyBagからの入力の値です。
コントローラでこれを処理するメソッドは、次のように開始されます。
確実に呼び出されますが、Params ["Save"]のブレークポイントにより、HttpMethodが "GET"であり、渡される引数(フォームとリクエスト)はオブジェクトIDと追加のHTTPヘッダーのみであることがわかります。
結局のところ、私はMonoRailにあまり精通しておらず、これは私に代わって愚かな間違いかもしれませんが、問題が解決した場合は馬鹿にされていただければ幸いです。:)
ありがとう
nhibernate - モノレール、nhibernate、およびリクエストごとのセッションパターン
Webアプリに対して実行しようとしているリファクタリングについての洞察と考えが必要です。
最初は、HttpApplicationでOn_BeginRequest / On_EndRequestを使用してセッションを作成および破棄することにより、NHibernateおよびActiveRecordでリクエストごとのセッションパターンを使用しました。後で、DB関連の例外がモノレールコンテキストの外にスローされたことに気付きました。つまり、レスキューが開始されませんでした。別の副作用として、NHibernateセッションの作成を完全にスキップするオプションがありませんでした。アクション。場合によっては望ましいでしょう。
そこで、ベースコントローラーのInitialize()/ Contextualize()でセッションを作成するように書き直し、ベースコントローラーのDispose()にそれらを配置しました。また、レスキューコントローラーでセッションをロールバックして、DBへの半分の書き込み変更を防ぎます。ここまでは順調ですね。Dispose()でこれを行う理由は、遅延読み込みの理由と、セッションを取得する必要のあるビューコンポーネント( viewcomponentsですが、Dispose()がないようです...)
ただし、DBでトランザクションを開始したときに、ロールバックもコミットもされていないデッドロックの問題が発生しており、主にこのアプローチで混乱が生じたために、頭を悩ませることができません。 。
だから私はこの記事を見つけました:http://hackingon.net/post/NHibernate-Session-Per-Request-with-ASPNET-MVC.aspx
そして、「フィルター、MonoRailでも使用できます!」と思いました。BeforeActionとAfterRenderingを開始できるからです。
私の質問は次のとおりです。
- フィルタで例外が発生した場合はどうなりますか?
- アクションまたはレンダリングで例外が発生した場合でも、AfterRenderingは起動しますか?
- このアプローチをお勧めしますか?そうでない場合は、代わりにどのような提案をしますか?
どんなポインタでも大歓迎です!
validation - MonoRail: プロトタイプの検証を削除するには?
私はモノレールでアプリケーションを保守していますが、Jquery の検証方法を変更することにしました。ここまでは順調ですが...問題は、プロトタイプである以前の検証メソッドへの参照を取り除くことができないことです。
問題は、私が作成したタグフォームの後にJavascriptが常に配置されることです。
モノレールの検証方法に関する明確なドキュメントを見つけることができませんでした。
そして、これは次のようにブラウザでいくつかのエラーを生成するようになります:
これに関するドキュメントの正しい方法、またはモノレールからこの種の検証を削除する方法についてのヘルプまたはポインタは、非常に高く評価されます。
前もって感謝します
メタルジョージ
PS。私はモノレールにかなり慣れていないと言わざるを得ません
asp.net-mvc - CastleMonorailとASP.NETMVCを同じプロジェクトに共存させることはできますか?
ASP.NETMVCに移行することを決定した大規模なモノレールプロジェクトがあります。基盤となるシステムのほとんどは再利用可能である可能性がありますが、もちろんコントローラーを書き直す必要があり、おそらく少なくとも一部のビューを書き直す必要があります。
このための低リスクの手段は、システムの明確に定義されたセクションをMVCに、そしておそらくMVCContribポータブルエリアとして徐々に変換することだと私は思います。私がこのアプローチで遭遇する可能性のある非自明な落とし穴があるかどうか誰かが知っていますか?
ご入力いただきありがとうございます、マシュー
c# - キャッスル モノレール サイトの現在のセッションを取得しますか?
継承したキャッスル モノレール サイトを変更していますが、現在オンラインのユーザーのリストを表示すると便利であることがわかりました。現在、誰がサイトのどの部分にアクセスできるかを決定するフィルターがあり、ログインしているセッションとログインしていないセッションを区別できます。ログインしているユーザーを特定できるように、アクティブなセッションのリストを取得する簡単な方法はありますか?
castle-windsor - Castleプロジェクトのソースコードの入手先
Castleプロジェクトはオープンソースです。ソースコードはどこで入手できるのでしょうか。それは見つけられません。
routing - 登録されたルートのリストを取得する
モノレールで構築された一連の Web サービスのドキュメント サイトをまとめようとしていますが、RoutingModuleEx.Engine に登録されているルートのリストを取得する方法があるかどうか疑問に思っています。