NeoDEEX 4.0.2.000 버전이 정식 릴리스 되었습니다.

버전 정보

어셈블리 버전: 4.0.0.0 (변경 없음)

파일버전: 4.0.2.000

설치패키지 버전: 4.0.2000

설치 방법

Standard/Enterprise Edition

다음과 같은 순서로 설치

1. 기존 버전이 이미 설치되어 있다면 먼저 Uninstall 합니다.
기존 버전 설치 여부는 제어판의 프로그램 추가/삭제에서 NeoDEEX 4.0이 존재하는지 확인하면 됩니다.

2. 배포된 Setup.exe 혹은 .msi 파일을 직접 수행하여 설치 합니다.

Free Edition

NuGet 패키지 관리자를 구동하여 NeoDEEX Free Edition을 검색하여 설치하거나 NuGet 패키지 콘솔을 이용하여 다음과 같이 명령을 수행합니다.

PM> Install NeoDEEX4.Free

NuGet 패키지가 자동으로 이전 버전을 Uninstall 하고 신규 버전을 Install 하게 됩니다.

주의) 4.0.0.011 버전을 사용하고 있는 경우 FoxConfiguration.config 파일의 내용을 백업 받은 후 4.0.2.000 버전을 설치해야 합니다.

주요 변경 사항

Breaking Changes

기본으로 제공되는 FoxDbLoggerProvider의 이름 변경 (BUG-860)

Fox Logging이 기본으로 등록해 주는 FoxDbLogger 프로바이더의 이름이 TheOne.Diagnostics.Logger.FoxDbLoggerProvider에서 FoxDbLoggerProvider로 변경되었습니다.

New Features

UseExactLoggerName, UseFallbackLogger 속성 추가

FoxLogManager.GetLogger 메서드를 호출하여 로거를 찾을 때 발생할 수 있는 문제를 진단하거나 정확한 로거 이름만을 사용하기 위한 목적으로 FoxLogManager에 두 속성이 추가되었습니다

UseExactLoggerName 속성(기본값 false)이 true로 지정되면 FoxLogManager는 GetLogger 메서드에 주어진 로거 이름과 정확히 일치되는 경우에만 로거를 찾아 반환하며 그렇지 않은 경우 즉시 FoxInvalidConfigurationException을 발생합니다.

UseFallbackLogger 속성(기본값 true)이 false로 지정되면 FoxLogManager는 GetLogger 메서드에 주어진 이름으로 로거를 찾지 못한 경우 폴백 로거인 FoxDummyLogger를 반환하는 대신 FoxInvalidConfigurationException을 발생합니다.

이 두 속성은 <logging> 섹션에서 useExactLoggerName, useFallbackLogger 속성으로 설정할 수도 있습니다.

ExecuteSqlList<T>, ExecuteSpList<T> 메서드 추가

DB 액세스 결과를 POCO 클래스의 리스트로 반환하는 데이터 액세스 메서드가 추가되었습니다. 이 기능은 Fox Query 사용 시 ExecuteQueryList<T> 메서드로만 제공되던 기능이었지만 이제 Fox Query를 사용하지 않더라도 DB 액세스 결과를 POCO 클래스의 리스트로 받을 수 있게 되었습니다.

var products = this.DbAccess.ExecuteSqlList<Product>(“SELECT * FROM Products”);

FoxAuthenticationAttribute 추가 (Standard 에디션 이상)

WCF 서비스의 인증 여부를 제어하는 FoxAuthentiactionAttribute 클래스가 추가 되었습니다. 이전 버전까지는 FoxUserInfoContext 기반의 WCF 인증 여부를 결정하기 위해서는 FoxAuthenticationBehavior 클래스를 we.config에 등록하고 서비스 구성에 behavior를 추가한 후, 서비스가 이 behavior를 사용하도록 했어야 했습니다. 하지만 4.0.2.000 버전부터는 WCF 서비스 타입에 FoxAuthenticationAttribute를 명시함으로써 WCF 서비스의 인증 여부를 제어할 수 있습니다.

// 다음 클래스는 클라이언트가 FoxUserInfoContext를 제시하지 않으면
// FoxAuthenticationException을 발생합니다.
[FoxAuthentication]
public class MyServiceType : IServiceContract
{
……
}

FoxDbLoggerBase/FoxDbLoggerProviderBase 클래스 추가

사용자 정의 DB 로거 작성을 용이하도록 해주는 FoxDbLoggerBase 클래스 및 FoxDbLoggerProviderBase 클래스가 추가되었습니다. 이 두 클래스로부터 파생된 로거와 로거 프로바이더를 작성하면 최소의 노력으로 사용자 정의 DB 로거를 작성할 수 있습니다. 사용자 정의 DB 로거는 단순한 문자열이 아닌 사용자 정의 로깅 데이터를 데이터베이스에 기록할 수 있을 뿐만 아니라 FoxDbLogger가 제공하는 동기/비동기 작동 방식, 비동기 로깅에 참여할 스레드 개수 제어, 저장 프로시저/Fox Query/SQL 문장 기능 선택의 기능을 모두 활용할 수 있습니다.

Bug Fixed

All Edition

BUG-857: FoxConnStrUtil.exe 유틸리티에서 Configuraion 생성 버튼이 연결 문자열 구성을 표시하지 않음.

BUG-864: ExecuteQueryList<T> 메서드에서 T 타입으로 IDictionary<K,V> 타입 사용 시 값을 제대로 읽어 오지 않음.

BUG-865: ExecuteQueryList<T> 메서드 호출 시 결과 값에 NULL이 포함된 경우 ArgumentException이 발생됨.

Standard/Enterprise 에디션

BUG-874: Visual Studio 내에서 Fox Query Editor가 생성하는 코드의 네임스페이스에 깨진 문자열이 포함됨.

BUG-875: Fox Query의 쿼리에 라인 구분(CR/LF)이 포함된 경우, Fox Query Editor가 생성하는 쿼리가 구문 오류를 일으킬 수 있음(Use Plain NeoDEEX 옵션 선택 시)

BUG-876: Fox Query Editor가 Fox Query의 매개변수(<parameter>) 설정의 name 속성 값만을 사용하여 코드를 생성함(property 속성값을 사용해야 함).

BUG-877: Fox Query Editor에서 DB Provider를 지정하지 않으면 코드가 생성되지 않음.

BUG-879: Fox Query Editor에서 .foxml 파일을 open 한 직후 XML View와 Code View에 아무것도 표시되지 않음.

BUG-882: .foxml 파일을 저장하지 않았음에도 Code View 탭을 선택하면 .foxml 파일이 변경됨.

BUG-883: Fox Query Editor의 상단 툴바 설정을 변경해도 .foxml 파일이 “변경됨”으로 표시되지 않음.


경고 : 이 글을 무단으로 복제/스크랩하여 타 게시판, 블로그에 게시하는 것은 허용하지 않습니다.