問題タブ [self-host-webapi]

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

asp.net - セルフ ホスト Web API Windows サービスに対して HTTP .NET クライアントを認証する

Self Host Web API http://www.asp.net/web-api/overview/older-versions/self-host-a-web-apiによるクライアント/サーバーの実装に関する素晴らしい記事を見つけました

そして、このモデル ( Self Host Web API )の正しい認証方法について疑問に思っています。

ベアラー トークン認証を使用しましたか? 他の方法はありますか?

または、たとえばhttp://www.asp.net/web-api/overview/security/individual-accounts-in-web-api

次の作業要件があります。

  1. C# http クライアントは、セルフ ホスト Web API Windows サービスに接続し、ファイルを送信する必要があります。

  2. 接続は 100% 安全でなければなりません。

では、WebAPI を保護する方法はありますか?

0 投票する
0 に答える
201 参照

c# - カスタム IHttpControllerSelector 使用時の KeyNotFoundException

バージョン管理に名前空間の選択を使用する Web API 2.2 プロジェクトにカスタム コントローラー セレクターを使用しようとしています。プロジェクトはセルフホスティングです。

これに関する多くの記事がインターネット上にありますが、それらのほとんどは 1 つのユース ケース (つまり、従来のルーティングのみ、または属性ルーティングのみでルート プレフィックスなしなど) のみをカバーしています。

私の場合、すべての Cookie を使用したいと思います。言い換えれば、私のセレクターがしなければならないことは、これらをサポートすることです:

セレクターの主要部分は、リクエストからコントローラー名を抽出することです。ほとんどの記事では、これは特定のキー (「コントローラー」) を持つ辞書を介して行われます。ただし、これは従来のテンプレート ルーティングでのみ機能します。

属性ルーティングを扱う場合は、ルート制約を使用し、デフォルトのコントローラー セレクターを維持することをお勧めします。私にはうまくいきません。

現在、次のようにコントローラー名を抽出します。

私には少しハックに思えますが、機能し、魔法の定数を使用しません (検索用の辞書のキーとして「アクション」を使用する場合など)。

ともかく。(リゾルバーを介して) コントローラーのリストを作成し、リクエストからコントローラー名を抽出し、バージョンに基づいて適切な HttpControllerDescriptor を見つけた後、SelectController() メソッドからそれを返す必要があります。

そして、ここで KeyNotFoundException 例外が発生します。検索した後、これについての言及が1つだけ見つかりました(HttpControllerDispatcher の例外

解決策は、着信要求に正しいサブルート データを入力することです。今、私はインターネット上でこれやその他の公式の言及を見つけていません. この投稿のみ。

私が思いついたのは、別のハッキーなコードです:

私の場合、最初はルートに 4 つのサブルートがあります (コントローラーのバージョンごとに 2 つ)。ここで何が起こるかというと、最後の部分にあるコントローラーの名前空間に特定のバージョンのコントローラー記述子を持つサブルートを検索することです。私の場合、それは常に2つです(「GET」リクエスト用と「POST」リクエスト用で、簡単にするために以前のコントローラーの例では省略しました)。

だから最後に私は私の質問に行きます:

  1. リクエストからコントローラー名を抽出する他の (できればより公式で適切な) 方法はありますか?
  2. サブルートを満たさない場合に発生する KeyNotFoundException 例外を解決する他の (より公式で適切な方法が望ましい) 方法はありますか?
  3. IIS でホストされている場合、これらはすべて機能しますか?
0 投票する
1 に答える
2555 参照

azure - OWIN セルフホスト リスナーを使用した Azure Service Fabric

ステートレス サービスの 1 つに、2 つのリスナーを含めたいと考えています。

作成したリスナーを標準的な方法で登録しようとすると、OWIN に基づくリスナーが初期化後に自動的に閉じられるという問題があります。

診断イベント

サービスの登録を担当する部分:

ServiceManifest ポートのセットアップ:

OwinCommunicationListener:

この問題を解決して、これら 2 つのリスナーを登録するにはどうすればよいですか?

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

visual-studio - 外部パッケージを参照するとメタデータのみが含まれる (lib がない) 場合、Nuget のローカル パッケージのインストールが失敗する

Nuget でローカル パッケージをビルドしようとしています。私のライブラリは、「Microsoft.AspNet.WebApi.OwinSelfHost」を含むいくつかのインストール済みパッケージを使用しています。OwinSelfHost パッケージには .nupkg ファイルのみがあり、対応する lib または content フォルダーはありません。Nuget は、そのパッケージに存在しない .lib ファイルを見つけようとして失敗します。呼び出しと出力は次のとおりです。 NoCache

依存関係 'Microsoft.AspNet.WebApi.OwinSelfHost' を解決できません。使用されるソース: 'nuget.org'、'NugetServer'。使用されるフィード: C:\Sandbox\MGC\Mgc.ClientProxies\bin\Debug プロジェクト 'C:\Sandbox\MGC\packages に関して、パッケージ 'NCR.AS.MGC.ClientProxies.1.0.0' の依存関係情報を収集しようとしています.out'、ターゲット 'Any,Version=v0.0' DependencyBehavior 'Lowest' でパッケージ 'NCR.AS.MGC.ClientProxies.1.0.0' の依存関係を解決しようとしています

ローカル パッケージの作成に関する提案はありますか?

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

javascript - selfhost c# での Json 出力と JavaScript での読み取り応答

私はC#で簡単なセルフホストを作成します。ここで:

URL http://localhost:2000/api/testを Web ブラウザーで開こうとすると、応答 json: {"server": "10.0.0.1" } が正しく表示されます。Web ページを作成した後:

しかし、変更は見られず、Firefox の開発ツールでは次のエラーが発生します。

SyntaxError: JSON.parse: JSON データの行 1 列 1 で予期しないデータの終わり

なぜ機能しないのですか?

ありがとう

0 投票する
0 に答える
66 参照

c# - ASP.net WEB API 4.0 でコントローラーへの参照を渡すことはできますか

NuGet 経由で取得したレガシー パッケージである Self Host ASP.net WEB API v.4.0.20710.0 があります。

したがって、私の質問は、ログ クラスのコントローラーへの参照を取得できるかどうかです。それらは、アクセスできない外部コードのどこかでインスタンス化されているように見えるためです。

考えられる唯一の解決策は、ロギング クラスを静的にすることですが、それは非常に不快です。他のアイデアはありますか?