내 코드에 대해 잘 모르겠다. 먼저 Blob Azure에 저장하고 성공했다면 URL을 데이터베이스에 저장하고 싶다.이 작업에는 두 가지 방법이있다. 첫 번째는 이라는 boolean variable
을 사용하고 flag
값이 true로 설정된 경우 데이터베이스에 저장할 수 있지만이 방법이 가장 적합한 지 확실하지 않습니다. ? 그것은 어떤 이유로 파일이 그 flag
값이 true
로 설정되어 발생하는 경우에도 Blob
에 업로드되지 않는다는 것을 가능하십시오 try catch
를 사용하는 것이 더 나은 방법을catch 블록 또는 부울 플래그를 사용 하시겠습니까?
using (Stream fileStream = file.InputStream)
{
blockBlob.UploadFromStream(fileStream);
flag = true;
}
if (flag == true)
{
Urls.Add(blockBlob.SnapshotQualifiedUri.ToString());
db.Save();
}
또는해야한다 : 첫 번째 방법은 boolean flag variable
를 사용하여 블록?
try
{
using (Stream fileStream = file.InputStream)
{
blockBlob.UploadFromStream(fileStream);
}
}
catch(Exception)
{
//do something
}
Urls.Add(blockBlob.SnapshotQualifiedUri.ToString());
db.Save();
각 방법의 차이점은, 개인적으로는 try catch
이 더 나은 접근해야한다고 생각 당신의 대답에 설명하지만 여기에서 확인 :)
'flag'는 예외를 throw하지 않는 한 항상 true로 설정됩니다 (실패 할 경우 가정 할 것입니다). 그래서 나에게 깃발은 아무 것도하지 않을 것입니다. 다음 코드는 어쨌든 실행되지 않을 것입니다. 'UploadFromStream' 바로 다음에'Add'와'Save'를 놓고 try/catch로 감싼다면 어떨까요? – Rob
'UploadFromStream()'이 예외를 던지면'flag'의 값은 절대로'true'로 설정되지 않습니다 (메소드가 설정되기 전에 종료됩니다) –