2016-12-18 3 views
0

ich diesen Beitrag als Compiler Ausgabe betitelt haben, kann aber nicht verstehen, was falsch läuft, vorher folgendes beachten,Azure Funktion Compiler Probleme

System.Security.Claims.ClaimsPrincipal pCPlFacebookUser = System.Security.Claims.ClaimsPrincipal.Current; 
String pStrEmail = pCPlFacebookUser.FindFirst(System.Security.Claims.ClaimTypes.Email).Value; 
Storage pStoMembership = new Storage("TableStorageRootURL", "AzureWebJobsStorage", "ServiceInfo"); 
User pUsrUser = pStoMembership.GetUser(pStrEmail); 

Dies funktioniert gut, weiterhin normal funktionieren, an dieser Stelle und in diesem Zustand sollte mein pUsrUser-Objekt null sein, es gibt nichts im Speicher, also ist es definitiv null, kann nichts anderes sein.

Wenn ich die Zeile schreiben,

return(req.CreateResponse(HttpStatusCode.OK, "WTF?")); 

erhalte ich "WTF?" von der Funktion zurückgegeben, großartig. Aber wenn ich das tue,

if(pUsrUser == null) 
{ 
    return(req.CreateResponse(HttpStatusCode.OK, "WTF?")); 
} 

ich die folgende,

{"Message":"An error has occurred."} 

Was ist los ?? Ich kann den Rückgabewert von GetUser nicht auswerten, jeder Versuch führt zu diesem Fehler, sogar direkt in der if-Anweisung.

Antwort

2

Typisch, dass wie üblich, nachdem ich meinen Kopf gegen eine Wand geschlagen habe, um etwas zu lösen, ein paar Momente nach der Frage auf einem Forum, finde ich die Antwort.

Was ich getan habe, um den Fehler zu beseitigen, war, die Funktion lokal mit den Azure-Funktionen für Visual Studio zu testen. Obwohl meine Funktion aus einem anderen Grund immer noch nicht lokal funktioniert, habe ich darauf hingewiesen, dass mir eine Assembly-Referenz fehlt, die von der User-Klasse verwendet wird. Nach dem Hinzufügen der Assembly-Referenz zu meiner Azure-Funktion ist das Problem verschwunden. In diesem Fall war es,

#r "Microsoft.WindowsAzure.Storage" 

using Microsoft.WindowsAzure.Storage.Table; 

Nick.

+1

Ich denke, was passiert ist, dass Sie einen Kompilierungsfehler hatten, den Sie nicht in den Protokollen sehen konnten. Ihre Antwort war nur, dass es einen Fehler gab, aber in den vollständigen Details hätte es einen Kompilier-Stacktrace geben sollen. Wir werden Dinge verbessern, so dass Kompilierungsfehler in ein anderes Fenster gelangen und schwerer zu übersehen sind. –

+0

Das klingt nach einer großartigen Veränderung – Nick

Verwandte Themen