웹 서비스가 IIS와 함께 실행 중입니다. 초기화 서비스를 호출 할 때 wpf 응용 프로그램을 시작하기 위해 일부 라이브러리가 동적으로로드됩니다.웹 서비스에서 WPF 응용 프로그램을 시작하는 방법은 무엇입니까?
코드가 컴파일되고 실행되지만 ... 창이 나타나지 않습니다. 예외는 전혀 발생하지 않습니다. 다음은
는 WPF 응용 프로그램을 만드는 실행되는 코드입니다 :public void Start()
{
ThreadStart ts = Run;
Thread t = new Thread(ts);
t.SetApartmentState(ApartmentState.STA);
t.Start();
}
[STAThread]
public void Run()
{
try
{
App app = new App();
MainWindow w = new MainWindow();
w.Show();
app.Run(w);
} catch (Exception e)
{
LogManager.GetLogger("general").Debug(e.StackTrace);
}
}
내가 콘솔 응용 프로그램에서, 그것은 완벽하게 작동하는지 실행하는 경우 : 나는에서 실행하는 경우
static void Main(string[] args)
{
MyApplication app = new MyApplication();
app.Start();
Console.ReadKey();
}
을하지만, 웹 서비스, 코드가 제대로 실행됩니다 (예외없이 디버깅 할 수 있음). 창이 표시되지 않습니다.
public void initialize() {
IMyApplication application = assembly.CreateInstance(namespaceValue + ".MyApplication") as IMyApplication;
application.Start();
}
프로세스 관리자에서 WPF 프로세스가 실행 중임을 알 수 있습니다. 왜 창이 나타나지 않는지 아는가?
감사합니다,
프랑소와
웹 서비스에 대한 모든 액세스/rigths을 부여 할 수있는 특별한 무언가가 있나요?
hummm, 나는 SII ... 의 specialit하지 오전하지만 웹 서비스 응용 프로그램 보호를 사용하는 관리 구성 도구에서 볼 수있다 : 보통 (풀링)이 는이 질문에 대답합니까? – Francois
Web.config 파일에 다음과 같이 입력했습니다. –
Francois
실제로 웹 서비스 상단에 동일한 컴퓨터에서 비즈니스 모델을 로컬로 관리하는 데스크톱 응용 프로그램을 빌드하는 것이 좋습니다. 따라서 메모리에있는 객체를 공유하려면 웹 서비스가 애플리케이션을 설치하고 비즈니스 모델을 전달해야합니다. 성능 문제 때문에 웹 서비스와 로컬로 통신하고 싶지 않습니다. – Francois