問題タブ [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.
c# - MVC5.1 と Web API 2 および AngularJS
私はサイド プロジェクトに取り組んでおり、AngularJS と Web API を独学し、この 2 つがうまく連携する方法を学んでいます。
私は ASP.NET MVC について十分な知識を持っていますが、AngularJS と Web API、および 3 つがどのように連携するかについてはまだ理解できていません。
現時点では、次のコードを含む Web API コントローラーがあります。
私のCreate.cshtml
見解では、ng-app
ディレクティブがあり、JS コントローラーを作成しng-controller
、フォームの周りにディレクティブを配置し、それを JS コントローラーに向けました。
しかし、ここで私は立ち往生しています。まず、ThingVM.cs
ViewModel を Angular にバインドするにはどうすればよいですか? JSONResult
MVC コントローラーでa を返す必要がありますか? はいの場合、どのように?以下を試しましたが、コンパイルされていません。
それが機能すると仮定すると、それを AngularJS にバインドして、ViewModel 構造がどのようなものかを知るにはどうすればよいでしょうか? 私のにThingVM
は多くのレベルの複雑さがあるからです。
最後に、フォームの送信をどのように処理すれば、Angular がPOST
リクエストの Web API コントローラーを指すようになりますか。
cookies - Request.GetOwinContext().Authentication.SignIn が Cookie を作成しない
次のコードは .ASPNET Cookie を作成していません。このコードを WebAPI カスタム ログイン メソッドで使用しています。
c# - 非同期タスクを使用した Web API 2 ダウンロード ファイル
テキスト ドキュメント (.txt、pdf、.doc、.docx など) を返すには、以下のようなメソッドを記述する必要があります。 Web API 2.0 でファイルを投稿する良い例が Web にありますが、関連するものを見つけることができませんでした。ダウンロードするだけです。(私は HttpResponseMessage でそれを行う方法を知っています。)
上記はまったく非同期である必要がありますか? 私はストリームを返すことだけを考えています。(それは大丈夫ですか?)
さらに重要なことに、何らかの方法で仕事を終える前に、この種の仕事を行う「正しい」方法は何かを知りたかったのです...(したがって、これに言及するアプローチとテクニックは大歓迎です..ありがとう.
c# - ASP.Net Web Api 2 の Session オブジェクトへのアクセス
Web Api 2コントローラー内Session
で をどのように使用できますか?HttpContext
Session オブジェクトは null です。Web Api for ASP.Net の最初のバージョンでセッション状態を有効にするさまざまな方法を見てきましたが、これらのいずれも Web Api 2 には適用されないようです。
Web API 1 のリファレンス: ASP.NET Web API を使用したセッションへのアクセス
これは誰もが同意するアプローチではないことは承知していますが、私が取り組んでいるアプリケーションにステートフル API があると便利です。
c# - ASP.NET ID (ユーザー管理) を Web API 2 経由で OData に追加する
Web API テンプレート (資格情報を含む) から作成された OData プロジェクトがあります。
ApplicationUser:IdentityUser クラスがあります。
私は TournamentContext : IdentityDbContext クラスを持っています。
[RoutePrefix("api/Account")] 属性を持つテンプレートに付属するデフォルトの AccountController があります。
WebApiConfig.cs では、私が持っている Web API テンプレートのデフォルト ルーティングについて
私が追加したODataサポートについて:
と
ここで、OData API を介してアカウント/ユーザー管理を公開したいと考えています。どうすればそれを達成できますか?
ありがとう、ジャニフ・ラトソン。
angularjs - Web Api 2 サブドメイン トークン認証
AngularJS とすぐに使用できる WebApi2 トークン認証テンプレート (個々のユーザー アカウント) を使用してサイトを作成しています。www.domain.comとsub.domain.comの 2 つのサイトに同時にログインしようとしています。
現在、ユーザーを認証するために角度で次のコードを使用しています。
次の後に、すべてのリクエストの認証ヘッダーを追加します。
上記のコードでは、各サイトが個別にログインできますが、セッションストレージは他のウィンドウ/タブ間で保持されないため、ユーザーはサブドメインにログインしません。
この問題に関するこのブログ投稿にはいくつかのコメントがあります (半分下): http://blog.auth0.com/2014/01/07/angularjs-authentication-with-cookies-vs-token/
ただし、実装するには複雑すぎるようです (そして、ユーザーがリダイレクトされるという望ましくない効果があります)。Cookie と同じように、ドメインを設定するのと同じくらい簡単なことを望んでいました。
現在のシナリオで、Cookie よりもトークン認証を使用する必要があるかどうか疑問に思っています...
c# - クエリ パラメータのルート制約
ASP.NET Web API 2.1 を使い始めたところ、制限が発生しました。属性ルーティングを使用すると、次のことができます。
URL/item/5
はこのアクションにルーティングされますが、 の制約により、URL はルーティングされ/item/abc
ません。int
{id:int}
id
クエリ パラメーターに対するルート制約の使用がドキュメントで言及または実証されていないにもかかわらず、パラメーターがその制約と共にクエリ文字列に含まれるように URL を変更しようとしました。
今実行しようとすると、 のConfigure
メソッド呼び出しでエラーが発生しApplication_Start
ます。
メッセージは次のとおりです。
ArgumentException はユーザー コードによって処理されませんでした
ルート テンプレートは、'/' または '~' 文字で始めることはできません。また、'?' を含めることもできません。キャラクター。
これについては、2 つのことが気になります。
まず、 MSDNのルート プレフィックスについて説明しているセクション~
では、ルート テンプレートの先頭に文字を配置しても問題ないことを明確にしています。試してみましたが、ドキュメントどおりに動作します。
次に、これが気に入らない場合、クエリ パラメータにルート制約を設定するにはどうすればよいですか? ルート制約を削除して、次のことを検討してください。
URLは-に設定さ/item/5
れたこのアクションにルーティングされますが、に設定された URL もルーティングされます。id
5
/item/abc
id
0
クエリ パラメーターにルート制約を設定する方法はありませんか?
c# - Web API で複数のフィルターを使用した実行順序
私は最新のものを使用していweb api
ます。
3 つの異なるフィルター属性でいくつかのコントローラーに注釈を付けます。
フィルターが上から下に宣言された順序で実行されるかどうかはわかりません。
で実行順序を定義するにはどうすればよいweb api 2.1
ですか?
https://aspnetwebstack.codeplex.com/workitem/1065#
まだ自分で修正する必要がありますか??