2009-09-29 4 views
0

배경 : 현재 RTF 텍스트를 서버의 적절한 형식으로 변환하려고합니다. 현재 System.Windows.Controls 네임 스페이스의 Richtextbox를 사용하여 텍스트를 xaml로 변환하고 xslt를 통해 필요한 형식으로 변환하는 스파이크 코드가 있습니다.Window 서비스에서 System.Windows.Controls를 사용하면 문제가 발생합니다.

스파이크에서는 문제가 없지만 프로덕션 Windows 서비스에서이 코드를 실행하면 트랙에 문제가 발생할 수 있습니다.
(이전에 Windows 서비스에서 System.Drawing 네임 스페이스를 사용하고 있던 다른 코드에 문제가있었습니다.)

Windows 서비스 내에서 분노한 System.Windows.Controls를 사용했는지 여부를 알려주는 사람이 누구나 안전하게 사용할 수 있는지 궁금합니다. 아니면 문제가 있다면 그 사람들은 무엇입니까?

답변

0

나는 어떤 통제도 결코 사용하지 않으려 고합니다. 분노. 이 ...

UI 컨트롤과 그 방법을 수행 , 일반적으로 간주되지 않습니다 스레드 안전 어두운면에 리드, 그래서 어떤 동기화를 수행 할 수까지가 될 것입니다. 폐기 처분을하고 부지런히 테스트해야합니다. 아마 괜찮을거야.

영향을 미친다면, 그것은 교활하고 간접적 인 것이 될 것입니다.

예를 들어, XSLT 변환을 사용하면 한 번로드하여 인스턴스를 캐싱하려고합니다. 그렇지 않으면 변환이 필요할 때마다 인스턴스를 사용할 경우 결국 OutOfMemoryException이 발생할 임시 어셈블리가 생성됩니다.

Microsoft KB, PRB: Cannot unload assemblies that you create and load by using script in XSLT에 관한 자세한 정보가 있습니다.

행운을 빈다. 나는 원래의 질문을 오해 때문에 (그 경고) System.Drawing을 제거 참조 -

Z

편집 할 수 있습니다.
EDIT - UI 컨트롤 및 스레드 안전성에 대한 설명 추가

관련 문제