![](/img/trans.png)
[英]How to load data from mysql db on start up .Net Core Web API service application?
[英]How to start a WPF application from a web service?
一個Web服務正在運行IIS。 調用初始化服務時,會動態加載某些庫以啟動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();
}
但是,如果我從Web服務運行它,代碼正確執行(因為我可以調試它,沒有例外)但窗口永遠不會顯示:
public void initialize() {
IMyApplication application = assembly.CreateInstance(namespaceValue + ".MyApplication") as IMyApplication;
application.Start();
}
我可以在進程管理器中看到WPF進程正在運行...任何想法為什么窗口沒有出現?
問候,
弗朗索瓦
是否有特殊要做的事情來授予Web服務所有訪問/權限?
檢查您的應用程序池並告訴我它使用的用戶 - 或者您是否使用模擬。
我的第一個猜測是,它作為一個服務用戶運行(沒有權利搞亂桌面,特別是你的桌面沒有)。 總的來說,我認為這是一件奇怪的事情。
為什么不在瀏覽器應用程序中使用Silverlight? 為什么沒有ClickOnce?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.