私はASP.Net MVC 4 Developer PreviewでDotNetOpenAuthサンプルを試しています。MVC 4.0のDotNetOpenAuth
私は正常に私のテストページから私のアクションを呼び出すが、理由コードの1行の奇妙な問題に実行することができます:私は、コードの問題の行をコメントアウトし、この前の1のコメントを解除した場合
var request = _openid.CreateRequest(openIdUrl);
var fetch = new FetchRequest();
fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
fetch.Attributes.AddRequired(WellKnownAttributes.Name.First);
fetch.Attributes.AddRequired(WellKnownAttributes.Name.Last);
request.AddExtension(fetch);
//return RedirectToAction("Login");
return request.RedirectingResponse.AsActionResult(); // <-- This is the line throwing the error
、私はもうランタイムエラーが表示されません。
は、これまで私が試してみました:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
</dependentAssembly>
</assemblyBinding>
<legacyHMACWarning enabled="0" />
</runtime>
2)正しい名前空間を持っている:
1)私が正しいリダイレクトを持っていることを確認
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using DotNetOpenAuth.OpenId.Extensions;
それはように私には思えますDotNetOpenAuth dllがMVC V 1.0.0に対してコンパイルされ、バインドリダイレクトが機能していないか、拡張メソッドが廃止予定のメソッドに対して機能していた可能性があります。
MVCバージョン:4.0.0.0 DotNetOpenAuthバージョン:3.4.7.11121
MVC 4でこの作業を取得上の任意の助けいただければ幸いです。 MVCエラー画面イメージは、さらに以下の通りです:
更新 私はAsActionResultは、拡張メソッドは、.NET 4.0と互換性がないかもしれないので、問題の原因であることがわかりました。 request.RedirectingResponseからOutgoingWebResponseオブジェクトを取得できますが、それをActionResultにキャストする方法はわかります
サンプルコードは、私が見ることができるMVC4で動作するOpenIdを取得しますか?私は、プロバイダーボタンを呼び出すと、イメージパスからJSエラーまで、さまざまな問題に遭遇しています。 – Picflight