問題タブ [webapi2]
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# - asp.net web api2 複数のプロジェクト
1 つのソリューションで 4 つの asp.net Web api2 プロジェクトを作成したいのですが、プロジェクトの名前が P1(UI) P2(UI) P3(UI) P4(Service) であるとします。
これらのプロジェクトは異なるアクティブ ディレクトリにデプロイされ、すべての UI プロジェクトが P4 のサービスを使用し、P1 ~ P3 のプロジェクトには cshtml ファイルのみが含まれるようにします。
これを行う方法を提案してください。VS2015 コミュニティ エディション アップデート 3 を使用しています。
angularjs - angularjsを使用してhttp POSTメソッドで2つの異なるタイプのパラメータをWeb APIに渡す方法は?
最初のパラメーターは複合型オブジェクト (JSON) で、2 番目のパラメーターは単純型 (String) です。ここでは Web API 2 を使用しています。
私は自分のコードを下に置いています。
Web API
angularjs
上記のコードでは、UserDetails で NULL を取得し、Web API の LoginIP で 192.152.101.102 を取得しています。
上記のコードでは、Web API のパラメーター UserDetails と LoginIP の両方で NULL を取得しています。
次に、angularjs を使用して http POST メソッドで 2 つ以上の異なるパラメーター タイプを渡す方法。
c# - MultipartMemoryStreamProvider を使用して Web Api 2 から Azure Blob Storage にファイルをアップロードする方法
UWP から WebAPI2 にデータ [ユーザー ID、ファイル] を送信しようとしています。WebApi2から、Azure Storageにコンテナを作成したい[コンテナ名=ユーザーID]。コードは次のとおりです。最初の部分はクライアント側 [UWP] です。
以下のコードは、Azure Blob にファイルをアップロードするための WebAPI2 コードを表しています。
{ [RoutePrefix("api/upload")] public class UploadController : ApiController {
}
上記の WebApi2 コードでは、Azure ストレージ コンテナーが作成されていますが、次のメソッドを呼び出すと、BLOB が作成されますが、「0 バイト サイズ」、つまりデータ/コンテンツは BLOB に渡されず、BLOB のみが作成されます。それぞれのファイル名:
テキスト ファイルのデータをそのまま BLOB に渡すには助けが必要です。ヘルプ/提案は大歓迎です。ありがとう :)
注意: 私は初心者です :)
azure - コンテナー名を webapi2 から worker ロールに送信する - azure
ユーザー ID に基づいてコンテナーを作成しようとしていますが、1 つのコンテナー内で 5 つの BLOB をテキスト ファイルとしてアップロードしたいと考えています。クライアント側は Windows アプリ (UWP) です。
ユーザー ID とテキスト ファイルはポスト リクエスト (webapi2) に送信され、ここからコンテナーが作成され、その中にファイルがアップロードされます。同時に、ワーカー ロールによって読み取られる必要がある Service Bus キューにコンテナー名が与えられます。
以下はクライアントコードです。
post メソッドは次のとおりで、コンテナー名を Service Bus キューに送信する関数も含まれています。
コンテナーの作成、テキスト ファイルのアップロード、コンテナー名の Service Bus キューへの渡しに成功しました。
問題は次のとおりです。
- クライアント側からは 2 つのデータ (コンテナー、つまりユーザー ID とそれに対応する 5 つのテキスト ファイル) が渡されるため、else 部分が 5 回実行されます。
- そのため、5 つのメッセージ (同じコンテナー) がサービス バス キューに送信されます。
- キューに送信する必要があるメッセージは 1 つだけです。つまり、コンテナ名です。
どんな助けでも親切に感謝します。私は Azure を初めて使用します。
jquery - JQuery AJAX が断続的にエラー 0 を返すのはなぜですか?
画像付きのフォームを AJAX 経由で WebAPI2 コントローラーに POST するページを開発しました。
これを繰り返します。ユーザーに一連の画像を選択させ、選択ボックスに追加すると、ユーザーは別の場所からさらに追加したり、リストからアイテムを削除したりできます。そこで、画像を記入したフォームをサーバーに送信します。各画像のアップロードの進行状況を表示できるように、画像ごとに具体的に 1 回行います。画像がサーバー上にあると、サーバー側のコードによって安全なリポジトリに移動されます。アプリケーション プールは、特定の AD アカウントを使用して作業を行っています。
これは私にとってはうまく機能し、それをテストした他の人にとってはうまく機能しますが、IEで断続的なエラーが発生するテスターが8人中1人います。彼は別のブラウザーでそれを試しません (私たちには実際のテスターはいません。ユーザーだけで、これは頑固です)。
同じプロジェクトの一部である私のサーバー側の Web API コードは、ヒットさえしていません。メソッドをすぐに入力したことを記録します。さらに、サーバー側のアプリケーション ログにエラーが記録されることはありません。AJAX が「エラー」と「0」を返しています。応答テキストはありません。私はすべてのAJAXエラーをサーバーアドレスに記録しています(ところで、問題なく送信されます)
最初は Web API ではなく MVC コントローラーを使用してこれを作成しましたが、問題が解決することを期待して切り替えました。それはしませんでした。
フォームを「送信」するボタンは送信ボタンではありません。input="ボタン" です。フォームに送信ボタンがありません。フォームには投稿先のアドレスがありません。アイテムがアップロードされている間は、フォーム全体をロックして、ボタンをクリックしたり、要素を編集したりできないようにします。結論として、私はその e.preventDefault(); を見ることができません。役に立ちます。
これは実際にはクロスサイト スクリプティングではありません。また、クロスサイト スクリプティング ポリシーがランダムにトリップする可能性があることを示唆するものをオンラインで見つけることはできませんが、そのように思われます。
時々、彼はフォームを送信し、画像のアップロードの 1/3 と残りのエラーを送信します。画像の種類、サイズ、またはそのいずれでもありません-彼がアップロードしていた画像をコピーし、それらを使用して検証しました。
サーバー側でクロスサイト スクリプティングを無効にし、JSONP フォーマッタを追加したところ、エラーなしでテストされました。彼は以前にそれを機能させ、その後問題が再発したため、実際に問題が解決したかどうかを確認するためにテストを続けます.
本当にクロスサイト スクリプティングが原因である場合、その理由は何ですか? 私のajaxリクエストでトップレベルドメインを指定していないため、IISサーバーに別のトップレベルドメインを選択させる何かがあるのでしょうか?
getBaseURL() が言う場所:
HiddenCurrentURL が私の _layout にある場合:
どんな助けでも大歓迎です。私は今何をすべきかよくわかりません。ブラウザの設定でこれを行うことはできますか?
編集: 彼は IE 11 を使用しています - 私と他のテスターもそうです。私は、Chrome と Firefox でもテストを行いました。
Edit2: クロスサイト スクリプティングを無効にしましたが、問題は続きました。この問題は、勤務時間外の深夜または早朝にのみ発生するようです。IISグループに確認したところ、「常にオン」で実行されているとのことでしたが...
jquery - Web Api put リクエスト MVC 5 のフォーム データをシリアル化する
クラスのレコードを表示する、厳密に型指定された Razor ビューがあります。このビューには、ユーザーがレコードを更新するために使用できるフォーム (ドロップダウン、いくつかのチェックボックス、およびいくつかのテキストボックス) が表示されます。ユーザーがコントロールの値を変更してフィールドを変更すると、すぐに ajax 呼び出しが Web API に送信され、そのフィールドが更新されます。次の Ajax 呼び出しは正常に機能します。
ただし、この関数をより一般的なものにして、他のフォーム (特に更新するデータが多いフォーム) で再利用できるようにしたいと考えています。理想的には、rec オブジェクトは次のように取り込まれます。
残念ながら、適用JSON.stringify()
した後rec
、期待される JSON 文字列が返されないため、これは機能しません。代わりに、次のような一連の名前と値のペアを送信します。
では、文字列が次のようになるようにこれを修正するにはどうすればよいですか。
Web API コントローラー:
モデルを見る
かみそりビュー:
c# - 応答badrequestメッセージWeb API C#を変更または上書きする
お元気ですか、私は BadRequest() の戻りの応答メッセージを変更する必要があります。
このようなリクエストを使用すると、 BadResquest("error: you can not pass these values")
私は自分のAPIが次のようなものを返すようにしたい:
しかし、エンドポイントはこれを返しました:
応答に「メッセージ」という単語を入れたくないのですが、応答を上書きまたは変更するフォームはありますか?
c# - Web API での非同期 HTTP 要求
私はこれをグーグルで検索し、C# および Web Api 2 での非同期 HTTP 要求の概念を説明するいくつかのリンクを見つけることができました。ただし、同じ動作例を取得できませんでした。
空気をきれいにするために、私の要件は次のとおりです。クライアントが API (長時間実行される処理を行う) を呼び出すと、HTTP 202 (Accepted) を応答としてほぼ即座に返し、バックグラウンドで処理を続行する必要があります。私はここまではっきりしています。以下は、同じものをどのように実装したかに関する私のサンプルコードです。私が立ち往生しているのは、この長い処理タスクがバックグラウンドで完了すると、同じクライアントへのコールバックを起動し、HTTP 200 応答を返さなければならないことです。時間のかかる処理タスクがバックグラウンドで実行されている間に、クライアントが異なる値で別の同時リクエストを発行した可能性があります。
誰でも私を正しい方向に向けることができますか?これはコードを介してのみ可能ですか、それとも IIS レベルで実装する設定があるでしょうか。あなたの時間を感謝し、これを手伝ってください。
事前にみんなに感謝します。
これまでの私のコード。
visual-studio-2013 - Nuget パッケージ "Microsoft.AspNet.Odata" を Web API、ASP.Net 4.5 にインストールできない
Web API 2 は初めてです。「Microsoft.AspNet.Odata」Nuget パッケージをインストールしようとしているときに、VS 2013 Update 4、ASP.Net 4.5 を使用してアプリケーションを作成しようとしていますが、次のエラーが発生します。
続行するための助けをいただければ幸いです。
ありがとう!!