問題タブ [nancy]
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.
razor - ナンシー:Razor View Engine:_ViewStartファイルはサポートされていますか?
特別なRazorファイル_ViewStart.cshtmlがナンシーでサポートされているかどうか教えてください。私はそれが含まれる予定だったことを知っています(ここ)。現在入手可能かどうか教えてください。現在、私には機能していません。
ありがとう
forms-authentication - Nancy: FormsAuthentication - はじめに
Nancy.Demo.Authentication.Formsの例に従おうとしていますが、サンプル コードが古くなっているように見えるため、問題が発生しています。この質問が長い場合は申し訳ありませんが、間違いを見逃したくありません。だからここに私がこれまでにやったことがあります:
パッケージ マネージャー コンソール (VS11 ベータ版) を使用して認証パッケージを正常にインストールしました
RavenDB セッション プロバイダーに依存し、それを使用してユーザーを見つけて検証する IUserMapper の実装を作成しました。
Cookie をより安全にするために必要な Guid 識別子フィールドに対応するために、User クラスにプロパティを追加しました (grumpydev の投稿を読んで、この Guid が必要な理由を理解しましたが、これをユーザークラス?)
最後に、デモからコードを直接盗むことで、ブートストラップにさらにセットアップを追加しました (上記のリンク)。これは私が問題を抱えているところです。コードが変更されたようです。
EDIT 1
私の間違いはばかげていることがわかりました(間違ったusing
声明 - 以下のコメントを参照してください)。上記のコードはすべて正常に機能するようになったため、この質問はそのままにしておきます。
ravendb - RavenDB : UnitTests で RavenProfiler を使用するにはどうすればよいですか?
NancyFX + RavenDB を使用しています。私は現在、Ayende が推奨する非正規化参照手法を実装して、AggregateRoot からドメイン参照を構築しようとしています。そのリンクを読むと、親インスタンスをロードしてから、RavenDB の「Include」ステートメントを使用して、参照されたインスタンスをプリフェッチすることが秘訣であることがわかります。
私はこれをすべて実行しましたが、動作しているように見えますが、参照されたインスタンスが実際にプリフェッチされているかどうかを単体テストで判断するのに苦労しています。説明するための単体テストのスニペットを次に示します。
上記の単体テストでは、偽のデータベース (メモリ内に埋め込まれた RavenDB のインスタンス) からインスタンスをロードできることを確認しますが、それらがプリフェッチされているかどうかは確認しません。
RavenProfiler を使用できるのではないかと考えました。たぶん、これは私がアサートできるdbリクエストの数をカウントします(たとえば、リクエストが1より大きい場合、上記の単体テストは失敗します)。
これを機能させるには、MVCIntegration パッケージを単体テスト プロジェクトにインストールする必要がありました (痛い)
また、System.Web への参照を追加する必要があり、身震いしました。これはうまくいかないと思います。
次に、次のように、Fake db プロバイダーに適切な初期化を追加しました。
最後に、単体テストの最後に RavenProfiler から何らかの値を取得しようとしました。
これはうまくいきませんでした!HttpContext が null だったため、RavenProfiler 内で失敗しました。これが、System.Web に関する私の予感だったに違いありません。しかたがない。
では、RavenDB インスタンスに対して行われたリクエストの数をカウントするにはどうすればよいでしょうか? また、MVC や System.Web を必要とせずにこれを実行できるので、単体テストに簡単に組み込むことができますか?
ありがとう
c# - Nancy Framework の Hello world アプリがコンパイルされない
Nancy で実行する Hello World Web アプリケーションを取得しようとしています。コンパイルせず、強調表示し、Get["/"] = parameters => "Hello World";
このシンボルを認識しません。
簡単なものが欠けているに違いありませんが、この問題についてウェブ上で何も見つかりません。
手順:
- 新しい ASP.NET Web アプリケーションを作成しました
- NuGet を使用して Nancy.Hosting.Aspnet を取得し、インストールしました
- web.config が NuGet によって構成されており、正しく表示されていることを確認しました
このコードを持つ新しいクラスを追加しました:
結果:
Get["/"] = parameters => "Hello World";
コンパイルされません
c# - Nancy テスト プロジェクトでビューが見つからない
テスト プロジェクトから Nancy モジュールをテストしようとすると、ちょっとした障害にぶつかります。私のテストコードはかなり標準的に見えます:
モジュールがビューをレンダリングしようとすると、ビューを見つけることができないという例外が発生します。プロジェクトを正常に実行すると、モジュールはビューを見つけます。モジュールがそれを見つけられないのは、テスト プロジェクトから呼び出されたときだけです。
json - NancyFX: BrowserResponse.Body.DeserializeJson を介して動的型を逆シリアル化するにはどうすればよいですか (単体テスト)
次の NancyFX 単体テストがあります。Shouldlyアサーション ライブラリを使用して、開始する一連の拡張メソッドを提供します。.Should---
このテストは、 として定義されたAssessmentService
uri を呼び出します。これは、タイプ (enum) 、または のいずれかの単一のプロパティを持つ単純な/assessment/state/" + user.Id
JSON オブジェクト定義を返します。State
AssessmentState
Passed
Failed
NotStarted
ここにサービス ハンドラーがあるので、トリックがないことがわかります。
以下は、このサービス呼び出しが返す JSON の例です。
偽の Nancy ブラウザーから返された JSON を逆シリアル化しようとするまで、すべて正常に動作します。BrowserResponse.Body
最初に、ナンシーのオブジェクトが提供する組み込みメソッドを使用しようとしました。
これにより、空のオブジェクトに逆シリアル化されます。これは良くありません。ただし、同等の Newtonsoft を使用すれば、すべて問題ありません (ほぼ)。
JSON デシリアライゼーションが機能するようになったため、次の Shouldly アサーションは見事にパスします。
ただし、匿名型に関係していると思われる理由により、次の行は実行時に失敗します (正常にコンパイルされます)。
それはかなり多くの情報です。それを 2 つの質問に要約させてください。
Newtonsoft バージョンでは機能するのに、Nancy のビルトイン JSON デシリアライザーが機能しないのはなぜですか?
Shouldly 拡張メソッドが実行時例外を引き起こさないように、JSON デシリアライゼーションによって生成された動的型をどのように操作すればよいですか?
ありがとう
.net - 2 つの .net アプリ間の日付のシリアル化
次のシリアル化コードを使用する Nancy JSON REST サービスがあります...
FormatterExtensions.AsJson(this.Response, insightManager.CaseSummary(x.caseId));
その後、デシリアライズされます...
そして、insightManager.CaseSummary(x.caseId) コードは、null 許容の DateTime を含むクラスのインスタンスを返します。
問題は、シリアル化/逆シリアル化プロセスで日付が 1 時間失われることです。これは、ある種の UTC オフセットであると思います。とにかく日付部分だけが欲しいので、これはちょっと面倒です。そのため、すべての日付が実際よりも前の日のように見えます。
javascriptでtisを修正する投稿をたくさん見てきましたが、コードの両方の部分が「標準」のセリレーザーを使用している場合にそれらを適用する方法がわかりません。
unit-testing - NancyFX:ユニットテストブラウザをデフォルトで強制的に認証することはできますか?
これは、ナンシーブラウザを認証していることを示す単体テストです(他のコードが削除されています)。これを行うためのよりスマートで乾燥した方法があるかどうか疑問に思いましたか?
dynamic-language-runtime - NancyFX: query-string / form 値がハンドラーに正しく渡されたかどうかを確認するにはどうすればよいですか?
Nancy は、クエリ文字列とフォームの値をdynamic
変数を介してハンドラーに渡します。以下の例は、Nancy リクエストを介して POST ハンドラに渡されるフォーム値を示していますRequest.Form.xxx
。
ハンドラ
を文字列にキャストuserid
し、文字列拡張メソッドを使用して、値が null または空の文字列 ( と同等string.IsNullOrEmpty()
) であるかどうかを確認していることがわかります。
私が好むのは、動的型に拡張メソッドを持たせて、他のことをする前に健全性チェックを実行できるようにすることです。次のようなコードが必要です。
ただし、型の拡張メソッドを持つことはできませんdynamic
。また、リフレクションを介してプロパティの存在を確認することはできません。DLR へようこそ。
質問
予想されるクエリ/フォーム値が Nancy ハンドラーに渡されたことを確認するために、事前チェックを実行する最も簡単で安全な方法は何ですか?
ありがとう
mysql - AppHarbor:NancyFxアプリで内部サーバーエラーが発生しました
最近、次のNuGetパッケージを使用してhttp://domainshop.apphb.com/に単純なASP.NETアプリケーションを展開しました。
アプリケーションはMySQLを使用します。アドオンをアクティブ化し、Web.configに記述されているのと同じ名前を使用してインスタンスにラベルを付けました。(私は自分のデータベースをそのインスタンスにデシベルしました)。
NancyFxはで構成されており、では構成されsystem.webServer/handler
ていませんsystem.web/httpHandlers
。
私もに設定system.web/customErrors
しましたOff
。
何が足りないの500 - Internal Server Error
ですか?
興味深いのは、静的ファイルが正しく提供されることです(http://domainshop.apphb.com/assets/style.css)。
よろしく、ジャコモ