しばらく前に、asp.net Web-api ベータ版を使用して API を構築しました。IIS でホストされている場合、web-api は実行中の Web アプリケーションから ID を継承することをどこかで読みました。私のAPIもWebサイト内で実行されています。ベータ バイナリを使用すると、サイトにログインして移動するhttp://localhost:4343/webui/api/values
と、ログインしているユーザーの正しい値が返されます。Get
これが値コントローラーのメソッドです。
public IQueryable<string> Get()
{
var pr = Request.GetUserPrincipal();
var username = Request.GetUserPrincipal().Identity.Name; //Null reference exception after installing vs 2012 here. Identity is null even though I am logged in
var values = GetUserValues(username);
return values.AsQueryable();
}
以前は web-api のベータ ビルドでは正常に動作していましたが、vs2012 の最終リリースでは null 参照例外がスローされます。代わりに .net 4.5 を使用するようにサイトを変換しました。ここで何が起こっているか分かりますか?