2010-07-16 2 views
3

저는 스크립팅을 통한 사용자 정의에 대한 강력한 지원을 목적으로하는 C# 클라이언트 응용 프로그램을 작성하고 IronPython을 대상 스크립팅 언어로 선택했습니다. 나머지 상태에서는 응용 프로그램의 데이터베이스에 사용자 코드를 보관하고 싶지만 스크립트를 파일과 모듈로 나눌 수 있어야합니다.IronPython을 호스팅 할 때 어떻게 동적 가져 오기를 설정할 수 있습니까?

사용자의 파일 시스템에 디렉터리를 지정하는 대신 문자열 (해당 가상 경로 포함)을 가져 오기 원본으로 사용하도록 IronPython 엔진을 구성하려면 어떻게해야합니까? 이것이 가능한가?

답변

3

PlatformAdaptationLayer 클래스의 하위 클래스를 만들고 "파일 시스템"호출을 구현해야합니다. 그러면 IronPython은 파일에 대한 I/O를 수행하기 위해 PAL로 이동합니다. 또한 PAL 유형을 반환하는 ScriptHost를 구현해야합니다. 좋은 예가 파일 입출력을 XAP 파일로 리디렉션하는 Silverlight 호스트입니다.

IronPython.CodePlex.com에서 IronPython 소스를 탐색하면 IronPython_Main \ Hosts \ Silverlight \ Microsoft.Scripting.Silverlight에서 Silverlight 호스트를 찾을 수 있습니다.

관련 문제