Tôi đã làm việc rất nhiều với DotNetOpenAuth. Đầu tiên chúng tôi sử dụng 5.0.0-alpha1 nhưng chúng tôi chuyển sang v4.0.30319 vì chúng tôi không thể tìm thấy nguyên nhân gây ra sự cố.DotNetOpenAuth không hoạt động với MVC 5 RC
Chúng tôi đang xây dựng dự án C# Web API trên .NET 4.5.1 RC với MVC 5 RC trong Visual Studio 2013. Chúng tôi đã triển khai IAuthorizationServerHost
, INonceStore
và ICryptoKeyStore
.
Vấn đề mà chúng tôi có được xung quanh trường hợp sau đây:
public class TokensController : Controller
{
private readonly AuthorizationServer authorizationServer = new AuthorizationServer(new MyAuthorizationServer());
/// <summary>
/// This action will handle all token requests.
/// </summary>
/// <returns>The action result that will output the token response.</returns>
[HttpPost]
public ActionResult Index()
{
var outgoingWebResponse = this.authorizationServer.HandleTokenRequest(this.Request);
return outgoingWebResponse.AsActionResult();
}
}
return outgoingWebResponse.AsActionResult();
một phương pháp có nguồn gốc trong DotNetOpenAuth.Messaging
và lớp tĩnh MessagingUtilities
. Tài liệu tham khảo DotNetOpenAuth.Core
(có chứa mã này) tham chiếu MVC 4.0 và lớp HttpResponseMessageActionResult
được kế thừa từ ActionResult
.
Điều này có nghĩa là phiên bản hiện tại của DotNetOpenAuth không tương thích với MVC 5. Biên dịch và cố gắng chạy điều này sẽ chỉ xảy ra trường hợp 500 lỗi.
Có ai có bất kỳ ý tưởng nào về việc điều này có thể dễ dàng được sửa chữa không (hoặc có thể không)?
Tôi đã không nhận thấy gói DotNetOpenAuth Nuget đã viết trên các gói của tôi cho 5.0. Vì vậy, sau khi cài đặt lại các gói và thêm assemblyBinding một lần nữa:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
Điều này đã cho chúng tôi thêm một chút. Bây giờ lỗi đi xuống đến:
Nỗ lực của an ninh phương pháp minh bạch 'DotNetOpenAuth.Messaging.MessagingUtilities.AsActionResult (DotNetOpenAuth.Messaging.OutgoingWebResponse)' để truy cập an ninh loại quan trọng 'System.Web.Mvc.ActionResult' thất bại.
Tôi vừa mới nâng cấp lên MVC5 và gặp sự cố này. Nhìn xung quanh tôi đã rất ngạc nhiên khi biết rằng AA đã từ bỏ dự án. Tôi thực sự không thể nói DNOA vẫn đang được phát triển tích cực vì chưa có bản phát hành trong một thời gian dài. Trạng thái của dự án là gì? Bạn vẫn đang sử dụng DNOA? – Jammer