HttpContext.Features
๋ฐ HttpContext.Items
๋ฅผ ์ฌ์ฉํ์ฌ HttpContext
์ก์ธ์ค ๊ถํ์ด ์๋ ๋ค๋ฅธ ํด๋์ค์ ๊ณต์ ํ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค๋ฅธ ๊ฒ๋ณด๋ค ์ ํธํด์ผ ํ๋ ์ํฉ์ด ์์ต๋๊น? ์๋๋ฉด ์์ ํ ๋์๊ฒ ๋ฌ๋ ค ์์ต๋๊น? ํน์ ์ํฉ์์ ๊ทธ ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ชป๋ ๊ฒ์ ๋๊น?
์๋ ํ์ธ์ @ayepirate์ ๋๋ค.
HttpContext์ Features ์์ฑ์ ํ์ฌ ์์ฒญ์ ๋ํด ์ฌ์ฉ ๊ฐ๋ฅํ HTTP ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ค๊ณ ์ค์ ํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ฅ ์ปฌ๋ ์ ์ ์์ฒญ ์ปจํ ์คํธ ๋ด์์๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ฏ๋ก ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ ์ ์์ ํ๊ณ ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ Features
์ปฌ๋ ์
์๋ ๊ธฐ๋ฅ๋ง ๋ฑ๋กํ ์ ์์ต๋๋ค. ์ถ์ฒ: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/request-features?view=aspnetcore-2.0
์์ฒญ ๋ฒ์ ๋ด์์ ์ฝ๋์ ์ฌ๋ฌ ์ธก๋ฉด ๊ฐ์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ค๋ฉด Items
์ปฌ๋ ์
์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/request- ๊ธฐ๋ฅ?๋ณด๊ธฐ=aspnetcore-2.0
@mkArtakMSFT ํ์ง๋ง ๋ด ์์ ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ ์ค์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค. ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?
์๋ฒ๊ฐ ๊ธฐ๋ฅ ์ปฌ๋ ์ ์์ฑ์ ๋ด๋นํ๋ ๋์ ๋ฏธ๋ค์จ์ด๋ ์ด ์ปฌ๋ ์ ์ ์ถ๊ฐํ๊ณ ์ปฌ๋ ์ ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด StaticFileMiddleware๋ IHttpSendFileFeature ๊ธฐ๋ฅ์ ์ก์ธ์คํฉ๋๋ค. ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ค์ ๊ฒฝ๋ก์์ ์์ฒญ๋ ์ ์ ํ์ผ์ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ ๋๋ฆฐ ๋์ฒด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํ์ผ์ ๋ณด๋ ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ IHttpSendFileFeature๋ฅผ ์ฌ์ฉํ๋ฉด ์ด์ ์ฒด์ ์์ ํ์ผ์ ์ด๊ณ ๋คํธ์ํฌ ์นด๋์ ๋ํ ์ง์ ์ปค๋ ๋ชจ๋ ๋ณต์ฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๊ธฐ๋ฅ์ ๊ตฌํ๊ณผ ์๋น์ ๊ฐ์ ๋ช ์์ ์ธ ๊ณ์ฝ์ ๊ฐ๊น์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ ๋ง์ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์๊ณ ๋ํ ์ํ๋ฟ๋ง ์๋๋ผ ํ๋์ ๋๋ฌ๋ผ ์๋ ์์ต๋๋ค. ํญ๋ชฉ์ ์ค์ ๋ก ๊ธฐ๋ฅ์ ํตํด ๊ตฌํ๋ฉ๋๋ค. ํญ๋ชฉ์ http ์ปจํ ์คํธ์ ์ก์ธ์คํ ์ ์๋ ํญ๋ชฉ ๊ฐ์ ์ํ๋ฅผ ์๋ณตํ๋๋ก ๋ง๋ค์ด์ง ์ผ๋ฐ ์ฌ์ ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ธฐ๋ฅ์ ๊ตฌํ๊ณผ ์๋น์ ๊ฐ์ ๋ช ์์ ์ธ ๊ณ์ฝ์ ๊ฐ๊น์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ ๋ง์ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์๊ณ ๋ํ ์ํ๋ฟ๋ง ์๋๋ผ ํ๋์ ๋๋ฌ๋ผ ์๋ ์์ต๋๋ค. ํญ๋ชฉ์ ์ค์ ๋ก ๊ธฐ๋ฅ์ ํตํด ๊ตฌํ๋ฉ๋๋ค. ํญ๋ชฉ์ http ์ปจํ ์คํธ์ ์ก์ธ์คํ ์ ์๋ ํญ๋ชฉ ๊ฐ์ ์ํ๋ฅผ ์๋ณตํ๋๋ก ๋ง๋ค์ด์ง ์ผ๋ฐ ์ฌ์ ์ ๋๋ค.