Domanda

Utilizzando il seguente esempio: http: //www.west-wind. com / Weblog / messaggi / 899303.aspx

La seguente riga ...

return req.RedirectingResponse.AsActionResult();

rende la stringa "DotNetOpenAuth.Messaging.OutgoingWebResponseActionResult". Questa è la classe viene restituito come ActionResult nella linea come pubblicato. Qualcuno sa il motivo per cui ho il nome della classe come stringa invece di un redirect reale?

Thnx in anticipo!

È stato utile?

Soluzione

E 'possibile che si dispone di più versioni di MVC nella directory Bin e il server web? Mi sembra che se tu avessi più assembly (diverse versioni) dei tipi MVC come ActionResult caricati nel vostro dominio di applicazione, e il metodo AsActionResult ritorna una versione e la tua MVC web app utilizzata una versione diversa, che potrebbe semplicemente salvare con un ToString . Quale versione di ASP.NET MVC sono in esecuzione? Metodo AsActionResult di DotNetOpenAuth è stato compilato con la versione 1.0 RTM del framework MVC. Se stai usando ASP.NET MVC 2 (incluso in .NET 4.0), ho potuto vedere questo forse essere un problema.

Credo che se si aggiunge questo frammento di codice al file web.config MVC 2 di, che vi permetterà di utilizzare la build ufficiale di DotNetOpenAuth in modo da non dover costruire il proprio:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

Altri suggerimenti

Un'altra soluzione, che lavora per me con .Net 3.5 e MVC 2.

Al posto di

var authRequest = relyingParty.CreateRequest(....);
....
return authRequest.RedirectingResponse.AsActionResult();

utilizzo

var authRequest = relyingParty.CreateRequest(....);
....
authRequest.RedirectToProvider();
Response.End();
return new EmptyResult();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top