전체(196)
-
[ASP.NET MVC] AsyncController의 사용
AsyncController는 비동기 Action Method를 작성할 수 있게 해줍니다. Action Method 내에서 실행되는 작업이 처리시간은 길지만 CPU사용시간은 적은 유형의 작업이라면 AsyncController를 활용하여 WebSite의 성능을 향상시킬 수 있습니다. Thread Pool에서 Request가 처리되는 순서 ASP.NET은 Request를 처리하기 위해 사용되는 Thead들을 Thread Pool에서 관리하고 있습니다. 요청이 도착하면 Thread Pool에서 하나의 Thread가 추출되고 요청이 처리되게 됩니다. 요청처리를 동기방식으로 진행한다면 해당 Therad는 요청이 처리 완료될 때 까지 작업에 전념해야 합니다. 만약 Thread Pool이 충분히 크고 Request ..
2014.03.26 -
[C#] Async, Await를 이용한 비동기 프로그래밍
VisualStudio 2012, .NET Framework 4.5부터 지원하는 대표적인 기능 중 하나가 바로 비동기 프로그래밍 입니다. 여기서는 비동기 프로그래밍이 무엇인지 정리 드리고자 합니다.. 비동기가 왜 필요할까? 웹 2.0 시대가 오면서 OpenAPI, 매쉬업을 통한 개발이 각광받게 되었습니다. 즉, 다른 웹사이트의 자원을 요청하고 가공하여 서비스를 제공하는 경우가 많아지게 된 것이죠. 하지만 이러한 외부 서비스 자원은 가장 느리고 불안정한 자원으로써 서비스의 대기시간이 길어지게 하는 원인으로 작용하게 됩니다. 이렇게 늘어난 서비스 대기시간은 필연적으로 병목을 발생시키고 이는 전체적인 Application의 반응성을 떨어뜨리게 됩니다. 급기야 사용자가 늘어날 수록 비용은 급상승하게 되고 경우에..
2014.03.26 -
[Nuget] 손상된 Reference, Package 복원하기
Nuget을 통해서 의존성있는 Package를 손쉽게 관리할 수 있습니다. 하지만 이렇게 Nuget을 통해서 추가된 Packages는 개발자에 의해서 쉽게 변경되거나 삭제, 손상될 수 있습니다. 예를 들어서 Nuget에 의해 추가된 Reference를 지워버린다거나, 패키지 구성파일을 실수로 삭제한 경우도 있을 수 있습니다. 이럴 때를 위해 Nuget에서는 다음과 같은 복구방법을 제공하고 있습니다. 일단 작업을 시작하기 전에, 프로젝트를 백업합니다. 혹시라도 작업 중에 문제가 발생해도 복구하기 위함입니다. Nuget은 복원 작업 중에 캐시된 파일을 재사용하게 되는데, 확실하게 재설치를 하고자 한다면 프로젝트의 bin, obj 폴더를 삭제하고, Solution파일(.sln)이 있는 폴더에 위치한 packa..
2014.03.24 -
[DB] Local DB 사용 시 ReadOnly 문제 해결
Local DB 사용 시 ‘the database is read-only.’라는 메시지와 함께 DDL, DML명령어의 일부가 동작하지 않는 현상이 나타날 수 있습니다. 원인은 DB Data File에 쓰기 권한이 없기 때문이며 다음과 같은 체크리스트를 확인해보세요. 해당 DB가 MS SQL Express나 MS SQL Server에서 생성한 것이라면, 해당 DB에서 확실히 Deteach되었는지 확인하세요. DB가 포함된 폴더와 DB파일(MDF, LDF)의 속성에서 [읽기 전용]을 해제해주세요. IIS 6.0을 사용한다면 DB가 포함된 폴더와 DB파일의 속성에서 다음과 같이 ‘Network Service’ 사용자를 추가하고 읽기/쓰기 권한을 부여하세요.
2014.03.24 -
[DB] SQL Azure에 aspnet_regsql을 통해 Membersip Table 생성하기
MS의 Cloud DB Service인 SQL Azure는 MS SQL DB를 기반으로 하는 멋진 서비스지만 몇 가지 제약이 있습니다. 그 제약 중 하나가 DB Context를 전환하는데 사용하는 USE를 지원하지 않는 것입니다. 이 때문에 aspnet_regsql.exe를 Azure DB에 사용할 수 없습니다. 따라서 MS는 이에 대한 Hotfix를 만들었습니다. 다음과 같이 진행해보세요. 다음 페이지에서 aspnet_regsqlazure.zip를 다운로드 하세요. http://archive.msdn.microsoft.com/KB2006191/Release/ProjectReleases.aspx?ReleaseId=3539 Azure로 가셔서 해당 DB주소를 확인해주세요. DB의 대시보드에 서버이름이 바로..
2014.03.24 -
[Facebook] Access Tokens
Access Token의 종류 사용자가 특정 앱을 사용하게 되면 해당 앱은 Access Token을 수령하게 됩니다. 사용자의 로그인하고 앱을 승인하면 이를 바탕으로 Access Token이 생성되어 앱에 전달되며, 앱은 Access Token을 사용하여 사용자 정보에 접근하하게 됩니다. Access Token은 무작위 문자열로서 다양한 방법을 통해 생성될 수 있습니다. Token에는 Token의 완료일자, Token을 생성한 앱에 대한 정보를 포함하고 있습니다. Access token은 다음과 같이 여러 종류가 있으며, 각각 다른 방법과 목적으로 사용됩니다. User Access Token 가장 보편적으로 사용되는 유형으로써 앱이 특정한 사용자의 정보를 읽거나 쓰거나 수정할 때 필요한 Token입니다...
2014.03.21