Microsoft MVP성태의 닷넷 이야기
닷넷에서 파일 delete 함수는 왜 비동기가 없는 것인가요? [링크 복사], [링크+제목 복사],
조회: 13547
글쓴 사람
김시준
홈페이지
첨부 파일
 

안녕하세요. 정성태님.
현재 저는 닷넷코어 6.0으로 프로젝트를 진행하고 있습니다.
이번에 파일 업로드 작업을 하고 있는데요. 작업을 하다가 궁금한 게 생겨서 여쭤보려고 합니다.
지금 파일을 업로드 후 임시폴더에 저장하고 게시하는 작업물을 완성해 등록을 할 경우 임시폴더에 저장한 파일을 실제 경로로 복사해주고 임시폴더를 삭제하는 기능을 구현중입니다.
서비스의 순서는 다음과 같습니다.

파일 업로드
1. 파일 업로드 시 매개변수 Microsoft.AspNetCore.Http.IFormFile 타입으로 파일을 입력 받습니다.
2. System.IO.Directory 의 Exists 함수를 사용해 임시폴더 존재 유무를 확인하고 없을 시 생성합니다.
3. System.IO.File 의 Create 함수로 임시폴더 경로 FileStream 객체를 생성합니다.(using)
4. 매개변수 IFormFile 의 CopyToAsync 함수에 FileStream 을 파라미터로 넘겨 메인 스레드를 사용하지 않고 임시폴더에 파일을 생성한다.(using)

작업물 작성 완료
1. 임시경로에 있는 파일을 실제 경로로 복사 해줍니다.
2. 임시폴더에 있는 파일명으로 System.IO.FileInfo 객체를 만듭니다.(using)
2. FileInfo 의 Delete 함수를 사용해 파일을 삭제합니다.

중략한 기능들도 있습니다. 근데 궁금한 게 왜 Delete 함수는 async 함수를 만들어두지 않았을까요?
이유를 추측하고 있긴 한데, 구현해두지 않은 정확한 이유가 궁금합니다!
답변 부탁 드립니다 :)
감사합니다!








[최초 등록일: ]
[최종 수정일: 12/9/2021]


비밀번호

댓글 작성자
 



2021-12-09 05시10분
오호~~~ ^^ 저는 한 번도 궁금한 적이 없었는데... 질문하신 덕분에 한 번 찾아봤습니다.

Why isn't there an asynchronous file delete in .net?
; https://stackoverflow.com/questions/10606328/why-isnt-there-an-asynchronous-file-delete-in-net

위의 글에 보면 "usr" 답변자가 쓴 설명이 가장 그럴 듯합니다.

아울러 UWP의 경우 StorageFile.DeleteAsync가 있는데요, 아마도 이것은 thread pool을 이용한 비동기 삭제 작업일 것 같습니다. (확인은 못 했습니다.)
정성태
2021-12-16 11시41분
[김시준] 안녕하세요.
당일 바로 확인을 했었는데, 답변이 많이 늦었습니다 ㅜ
네, 말씀 하신 사용자의 내용이 가장 신빙성이 있어보입니다 ㅎ
감사합니다!
[guest]

... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
326권인성2/23/200611349    답변글 [답변]: 한가지만 더 질문할게요.... [1]
323정보문2/21/200611784메일 내용에서 한글이 깨집니다. [1]파일 다운로드1
321셈토2/18/200611583SPOOL --> EMF --> TEXTOUT [1]
320정보문2/18/200611369파일의 최대 크기2 [1]
318정보문2/18/200612485파일의 최대 크기
319정성태2/18/200612568    답변글 [답변]: 파일의 최대 크기 [1]
317narc...2/17/200611646[IE embeded SmartClient]에서 닷넷 리모팅 프록시 사용시 처음 2분간 딜레이현상이 발생합니다. [1]
322narc...2/20/200612500    답변글 [답변]: 다시한번 부탁드리겠습니다..
316이경찬2/15/200613904MSDN 매거진 정기구독 신청은 어디서 할수있나요? [1]
315정준명2/15/200617343[DxFramework Lite] 분산 트랜잭션에 참여하는 동안 오류가 발생했습니다. [2]
314이윤희2/14/200611567엑셀변환시....그림을 넣을려면. [1]
313장강현2/14/200611778SmartClient 디버그 문제 [1]
312정보문2/13/200611809방법2006 [1]
309정보문2/10/200612916edit & continue [3]
308김용국2/11/200611372스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
310정성태2/11/200610863    답변글 [답변]: 스마트클라이언트 관련질문 [ Client 에서 WebPage의 JavaScript 호출방법이 있을까요? 있다고는 한것 같은데..부탁드림^^
307narc...2/10/200612642IE Embeded 스마트클라이언트는 UserControl만 가능한가요? [2]
305정보문2/10/200612746웹 컨트롤
306정성태2/10/200612325    답변글 [답변]: 웹 컨트롤
303정보문2/10/200613273회원가입성공을 기념으로 질문 한 가지 던집니다.
304정성태2/10/200611701    답변글 [답변]: 회원가입성공을 기념으로 질문 한 가지 던집니다.
302김성2/7/200612902C#이나 VB.NET 으로 만든 것을 SETUP 해서 배포하려고 하는데요.. [1]
301참깨2/3/200617150개체가 이 속성 또는 메소드를 지원하지 않습니다. [1]
300김종욱2/2/200611485안녕하세요 [2]
299꼬부기1/19/200610668스마트클라이언트 관련 질문입니다... [2]
298정말초짜1/12/200610911smart client 질문입니다. [1]
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...