ここから ASP.NET Identity サンプルをダウンロードし、正常に実行しました。https://github.com/rustd/AspnetIdentityサンプル
現在、プロジェクトで ASP.NET Identity フレームワークを実装している最中ですが、一日中頭を悩ませている問題に遭遇しました...
GetOwinContext()
私の拡張メソッドとしては存在しないHttpContext
クラス ライブラリに ID フレームワークを実装しています。ID フレームワークの最新版 (プレリリース版) をすべてインストールしましたが、これ以外はすべて正常に動作しています。
同じコードをコントローラーに同じダイレクトとして実装してみましたが、同じ問題が発生しました。
明らかにどこかに参照が欠けているのですが、それが何なのか全く分かりません。
私を悩ませているコードブロックは次のとおりです:
private IAuthenticationManager AuthenticationManager
{
get
{
return HttpContext.GetOwinContext().Authentication;
}
}
次の参照を追加しました。クラス ライブラリとコントローラーの両方で試しましたが、どちらも機能しませんでした...
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;
using Microsoft.Owin;
using System.Web;
...これは私をイライラさせています...何かアイデアはありますか?
アップデート
サンプル内の Identity と OWIN のバージョンを確認し、ソリューションにも同じバージョンが含まれていることを確認しました。
さらに、サンプルのオブジェクト ブラウザーで検索するとGetOwinContext
メソッドが見つかりますが、ソリューションで検索するとどこにも見つかりません... ライブラリが古くなっているはずですが、見つけることができません。
ベストアンサー1
ああ!
見つけたよ…余分な荷物はなかったよMicrosoft.Owin.Host.SystemWeb
これを検索してインストールしたら、うまくいきました。
さて、私がすべてを見逃しただけなのかどうかはわかりませんが、さまざまなチュートリアルを調べたときに、そのようなライブラリやパッケージへの参照は見つかりませんでした。また、このすべての Identity Framework をインストールしたときにもインストールされませんでした... 私だけなのかどうかはわかりません。
編集アセンブリ内にありますが、名前空間Microsoft.Owin.Host.SystemWeb
内の拡張メソッドなのでSystem.Web
、前者への参照が必要であり、using
後者である必要があります。