2012-01-17 15 views
7

ASP.Net MVC 4 Geliştirici Önizlemesi ile DotNetOpenAuth örneklerini deniyorum.MVC 4.0 ile DotNetOpenAuth

başarıyla Test sayfam benim Eylem çağırmak, ancak garip bir sorun haline kod yüzünden bir satır çalıştırabilirsiniz: Ben kod kusurlu satırını açıklama ve bundan önce bir tane yorumsuz

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 

Artık çalışma zamanı hatasını göremiyorum.

Şimdiye kadar ben denedim:

<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) doğru ad var:

1) Doğru yönlendirmelerin sağlamak

using DotNetOpenAuth.OpenId.Extensions.AttributeExchange; 
using DotNetOpenAuth.OpenId.Extensions; 

O geliyor bana DotNetOpenAuth dll MVC V 1.0.0'a karşı derlenmiş ve bağlayıcı yönlendirme ya çalışmıyor ya da uzantı yöntemi, kullanımdan kaldırılmış bir yönteme karşı çalışıyor olabilir.

MVC Versiyon: 4.0.0.0 DotNetOpenAuth Versiyon: 3.4.7.11121

MVC 4 ile çalışan bu alma konusunda herhangi bir Yardım büyük mutluluk duyacağız. MVC hata ekran görüntüsü ayrıca aşağıdaki gibidir:

Image of Error Screen

Güncelleme Ben AsActionResult uzatma yöntemi .NET 4.0 ile uyumlu olmadığı, belki de sorunun nedeni olduğunu gördük. Ben request.RedirectingResponse gelen OutgoingWebResponse nesnesini alabilirsiniz ama Bu sizin bağlayıcı yönlendirmeleri bozuk görünür bir ActionResult

+0

Örnek kodunuz OpenId'in MVC4 ile çalışabileceğim bir yerde çalışmasını sağlamaktır. Sağlayıcı düğmesini çağırdığımda görüntü yollarından JS hatalarına kadar çok sayıda konuya koşuyorum. – Picflight

cevap

6

için döküm nasıl biliyorum. System.Web.Mvc'in iki kez nasıl göründüğüne dikkat edin. Birincisi doğru göründüğü için ikinci olanı kaldırmayı deneyin.

Evet, DNOA, MVC 1.0'a karşı yerleşiktir ve bu, MVC'nin tüm sürümlerine (uygun yönlendirmeler verildiği şekilde) karşı çalışacak şekilde tasarım gereğidir. Bu sadece bir MVC sürümü şey - bir .NET 4.0 şey değil.

+0

Gerçekten keskin bir gözün var. Teşekkür ederim!! Delirdiğimi sanıyordum. –

+0

Teşekkür ederim Teşekkürler :) .. Aynı sorunu alıyordum, mvc3 için, bu benim için çalıştı "". – labroo