我想知道调度程序的正确用法是来自Owin自主Webapi控制器吗?我正在使用带有NotifyTaskbarIcon的ICommand。
public HttpResponseMessage ShowPortalWindow()
{
var showPortalCommand = (App.Current as App).TaskbarCommands.ShowPortalCommand;
var dispather = Request.Properties["Dispatcher"] as Dispatcher;
if (!dispather.Invoke(() => showPortalCommand.CanExecute(url)))
return Request.CreateResponse(HttpStatusCode.Unauthorized);
dispather.Invoke(() => showPortalCommand.Execute(url));
}
我是否需要调用第一个“CanExecute”方法?它不会改变任何UI。
起初我希望简单地获得这样的主应用程序(App)线程:
var mainApp = dispather.Invoke(() => (App.Current as App));
但是这导致“该线程已经被另一个进程使用了......”。