.NET 4 führte einige Typen ein, um cooperative cancellation zu unterstützen. Ich möchte eine Operation abbrechen können, die in einer anderen AppDomain ausgeführt wird. Der Typ CancellationToken ist eine Struktur. Wenn ich es an eine andere AppDomain weitergebe, funktioniert es dann normal?Kann CancellationTokens über AppDomains hinweg verwendet werden
5
A
Antwort
2
Ich bin nicht vertraut mit .NET 4 oder Stornierungstoken, aber die Annullierungsstruktur scheint nicht das SerializableAttribute zu haben, so dass Sie es wahrscheinlich nicht in erster Linie über die AppDomain-Grenze schaffen können.
Sie können möglicherweise einen MarshalByRefObject-Wrapper erstellen, um dies für Sie zu tun.
+0
Aus irgendeinem Grund dachte ich, dass Strukturen immer serialisierbar sind, aber es sieht so aus, als ob ich falsch lag. –
Für jeden, der über diese Frage kommt, habe ich [eine Antwort für eine ähnliche, neuere] geschrieben (http://Stackoverflow.com/a/15179707/351301), die effektiv tut, was Brian empfiehlt. – shambulator