問題タブ [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.
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
次の作業要件があります。
C# http クライアントは、セルフ ホスト Web API Windows サービスに接続し、ファイルを送信する必要があります。
接続は 100% 安全でなければなりません。
では、WebAPI を保護する方法はありますか?
c# - カスタム IHttpControllerSelector 使用時の KeyNotFoundException
バージョン管理に名前空間の選択を使用する Web API 2.2 プロジェクトにカスタム コントローラー セレクターを使用しようとしています。プロジェクトはセルフホスティングです。
これに関する多くの記事がインターネット上にありますが、それらのほとんどは 1 つのユース ケース (つまり、従来のルーティングのみ、または属性ルーティングのみでルート プレフィックスなしなど) のみをカバーしています。
私の場合、すべての Cookie を使用したいと思います。言い換えれば、私のセレクターがしなければならないことは、これらをサポートすることです:
セレクターの主要部分は、リクエストからコントローラー名を抽出することです。ほとんどの記事では、これは特定のキー (「コントローラー」) を持つ辞書を介して行われます。ただし、これは従来のテンプレート ルーティングでのみ機能します。
属性ルーティングを扱う場合は、ルート制約を使用し、デフォルトのコントローラー セレクターを維持することをお勧めします。私にはうまくいきません。
現在、次のようにコントローラー名を抽出します。
私には少しハックに思えますが、機能し、魔法の定数を使用しません (検索用の辞書のキーとして「アクション」を使用する場合など)。
ともかく。(リゾルバーを介して) コントローラーのリストを作成し、リクエストからコントローラー名を抽出し、バージョンに基づいて適切な HttpControllerDescriptor を見つけた後、SelectController() メソッドからそれを返す必要があります。
そして、ここで KeyNotFoundException 例外が発生します。検索した後、これについての言及が1つだけ見つかりました(HttpControllerDispatcher の例外)
解決策は、着信要求に正しいサブルート データを入力することです。今、私はインターネット上でこれやその他の公式の言及を見つけていません. この投稿のみ。
私が思いついたのは、別のハッキーなコードです:
私の場合、最初はルートに 4 つのサブルートがあります (コントローラーのバージョンごとに 2 つ)。ここで何が起こるかというと、最後の部分にあるコントローラーの名前空間に特定のバージョンのコントローラー記述子を持つサブルートを検索することです。私の場合、それは常に2つです(「GET」リクエスト用と「POST」リクエスト用で、簡単にするために以前のコントローラーの例では省略しました)。
だから最後に私は私の質問に行きます:
- リクエストからコントローラー名を抽出する他の (できればより公式で適切な) 方法はありますか?
- サブルートを満たさない場合に発生する KeyNotFoundException 例外を解決する他の (より公式で適切な方法が望ましい) 方法はありますか?
- IIS でホストされている場合、これらはすべて機能しますか?
azure - OWIN セルフホスト リスナーを使用した Azure Service Fabric
ステートレス サービスの 1 つに、2 つのリスナーを含めたいと考えています。
- サービス間の内部通信用に Service Fabric によって提供されるリスナー
- 例に従って実装された OWIN セルフホストに基づくリスナー ( https://github.com/Azure/azure-content/blob/master/articles/service-fabric/service-fabric-reliable-services-communication-webapi.md )
作成したリスナーを標準的な方法で登録しようとすると、OWIN に基づくリスナーが初期化後に自動的に閉じられるという問題があります。
サービスの登録を担当する部分:
ServiceManifest ポートのセットアップ:
OwinCommunicationListener:
この問題を解決して、これら 2 つのリスナーを登録するにはどうすればよいですか?
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' の依存関係を解決しようとしています
ローカル パッケージの作成に関する提案はありますか?
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 で予期しないデータの終わり
なぜ機能しないのですか?
ありがとう
c# - ASP.net WEB API 4.0 でコントローラーへの参照を渡すことはできますか
NuGet 経由で取得したレガシー パッケージである Self Host ASP.net WEB API v.4.0.20710.0 があります。
したがって、私の質問は、ログ クラスのコントローラーへの参照を取得できるかどうかです。それらは、アクセスできない外部コードのどこかでインスタンス化されているように見えるためです。
考えられる唯一の解決策は、ロギング クラスを静的にすることですが、それは非常に不快です。他のアイデアはありますか?