問題タブ [asp.net-web-api2]

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

model-binding - WebApi2: 部分パラメーターをバインドするためのカスタム パラメーター バインディング

次のように、webApi2 プロジェクトと他のプロジェクトがあり、そこにはモデル クラスとすべてのモデルのベースである BaseModel があります。

他のすべてのモデルは、私の BaseModel から派生しています。

webapi には、次のように CustomerController があります。

CustomerController に送信されるすべてのリクエストには、リクエスト ヘッダーに「UserId」ヘッダーがあり、ModelBinder または ParameterBinder、または他のモデル パラメータに触れずにリクエスト ヘッダーから UserId のみをバインドする機能が必要です。UserId 以外のモデル パラメータはデフォルトでバインドされることを意味します。

AOP、インターセプター、またはアスペクトを使用したくありません。モデル バインダー、パラメーター バインダーなどの asp.net 機能で UserId のみをバインドすることは可能ですか?

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

authentication - API を呼び出しているユーザーの UserName を取得する方法は?

技術: ASP.Net Web API 2 認証。

IDE : Visual Studio 2013 で SPA テンプレートを使用しています。

ストーリー: 1 つの Get メソッド (コードを参照) を持つコントローラーを追加し、「System.Threading.Thread.CurrentPrincipal.Identity.Name」を出力するためにテストを実行しました。最終的なゲームは、API を呼び出すクライアントの ID を見つけることです。

質問: ID が空で表示されるのはなぜですか? 呼び出しが別のスレッドで処理されるという事実に関連していますか? トークン (クライアントがログイン時に受け取ったもの) はリクエストの一部であり、認証に使用されていますか?

わかりやすくするために短くまとめてみましたので、さらに詳しい情報が必要な場合はお知らせください。


わかりました、回避策を見つけました(解決策ではありません)。基本的に、この行「config.SuppressDefaultHostAuthentication();」を削除します。 http://forums.asp.net/p/1944393/5594350.aspx?Re+Web+API+2+how+do+I+find+the+identity+of+an+authenticated+user+


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

asp.net-web-api - MVC5 + WebApi2 認可を理解できない

OAuth の概念を知っています。ユーザーは許可タイプ、ユーザー名、パスワードを使用してサーバーにリクエストを送信し、サーバーでいくつかのチェックを行った後、ユーザーはアクセス トークンを受け取ります。私が理解できないのは、なぜ私がこれをしなければならないのかということです:

CreateIdentityAsync戻るとは何ですか?とは何AuthenticationTicketですか? 何をしcontext.Validatedますか?また、oAuthIdentityなぜ私も使用する必要があるのcookiesIdentityですか? 最後に、アクセス トークンはどこで生成されるのでしょうか。

検索しましたが、これを説明しているウェブサイトが見つかりません。

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

c# - HttpRouteCollection からルートを削除する

WebAPI 2.0 に含まれる属性ルーティングを使用していますが、特定の条件に基づいてルートを削除する方法がわかりません。を使用してすべてのルートをマップMapHttpAttributeRoutesし、次のコード行を使用して特定のルートを削除したいと考えています。

しかし、これはNotSupportedException. ルートを削除するにはどうすればよいですか? そうでない場合、これを達成する別の方法はありますか?

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

asp.net-web-api - Web API との統合テスト - 非 InMemory テストまたは InMemory テスト -

Web API コントローラーで統合テストを行いたいと考えています。統合テストが開始されると、Web API の要求/応答パイプライン全体が処理され、実際の統合テストになります。

非 InMemory テストまたは InMemory テストに関するいくつかのブログを読みました。私は違いが何であるかを知る必要があり、それらのアプローチのどれが私の上記の基準に一致しますか?

セルフホスティングまたはIISホスティングのWeb APIでの統合テストを実際に扱った人々からの説明が本当にうれしいです(テストに違いがある場合...)

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

asp.net-web-api - JsonFormatter しか定義していませんが、wep API はどのように html のコンテンツ タイプを返しますか?

私の Application_Start で:

私のデフォルトの URL:

コンテンツはタイプです"text/html"が、設定していませんがresponse.Headers.ContentType、htmlコンテンツネゴシエーターのようなものはありませんが、htmlファイルは正しく返されますが、実際には、アクションがjsonとしてhtmlファイルを返すか、エラーが発生すると想定しましたが、すべてがうまくいきました。

何故ですか?