web-dev-qa-db-ja.com

OWINスタートアップクラスを認識するためにIISを取得するには?

私のOWIN WebサービスはVisual Studio 2013で美しく動作しますが、実際のIISサイトに公開すると、スタートアップクラスのConfigurationメソッドが実行されていないかのように動作します。アプリを参照してディレクトリ構造を表示するなどの「通常の」ことですが、IAppBuilderで設定されたはずの機能は何も機能しません。たとえば、Startupで設定されたURL OAuth2ベアラートークン:Startup.Configuration(IAppBuilderアプリ)が実行されなかったかのようです。

[Assembly: OwinStartup(typeof(MyNamespacedStartupClass))]属性を使用して、スタートアップクラスを指定しています。

NuGetを使用して、Microsoft.Owin.Host.SystemWebとMicrosoft.Owin.Diagnosticsの両方を取得した指示ごとに取得しましたが、違いはありません。

さらに何をする必要がありますか?

32
LSpencer777
  1. アプリプールがv4.0統合モードになっていることを確認してください。
  2. BinにMicrosoft.Owin.Host.SystemWebが配置されていることを確認します(インストールされていることがわかります)-binフォルダーにも確認してください。

この記事 には、統合パイプラインでOWINミドルウェアがどのように実行されるかについての詳細が記載されています。

26
Praburaj

おそらく、古いMVCからある時点でアップグレードした場合の理由:

持っていないことを確認してください

  <add key="owin:AutomaticAppStartup" value="false" />

あなたのweb.config。スタートアップの呼び出しを抑制します

代わりにこれに変更します

  <add key="owin:AutomaticAppStartup" value="true" />

ラインのどこか-MVC 5にアップグレードすると、これが追加され(実際にはほぼ皮肉なことに1年前の明日でした)、私が使用しようとした今日までowinが何であるかさえ知りませんでした。

3
Simon_Weaver