Я титулованные этот пост как вопрос компилятора, но не может понять, что происходит не так, рассмотрим заранее следующее,Azure Функция компилятора Проблемы
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);
Это прекрасно работает, функция продолжает работать нормально, в этой точке и в этом состоянии мой объект pUsrUser должен быть нулевым, в хранилище ничего нет, поэтому он определенно null, не может быть чем-то еще.
Если я пишу строку,
return(req.CreateResponse(HttpStatusCode.OK, "WTF?"));
я получаю "WTF?" возвращенный функцией, отлично. Но если я это сделаю,
if(pUsrUser == null)
{
return(req.CreateResponse(HttpStatusCode.OK, "WTF?"));
}
Я получаю следующее,
{"Message":"An error has occurred."}
Что происходит ?? Я не могу оценить возвращаемое значение из GetUser, любая попытка сделать это приводит к этой ошибке, даже непосредственно в выражении if.
Я думаю, что произошло то, что у вас была ошибка компиляции, которую вы не видели в журналах. В вашем ответе просто говорилось, что произошла ошибка, но в подробных деталях должна была быть сборка stacktrace. Мы собираемся улучшить ситуацию, чтобы ошибки компиляции переходили в другое окно, и их сложнее пропустить. –
Это звучит как потрясающее изменение – Nick