I have a scenario where the Base plugin contract can be implemented in multiple ways for different use cases. All the plugin implementations are loaded into the Host app in different Assembly Load Contexts. Since the host app doesn't have control over the code written into the plugins, how can it terminate a plugin execution if it's taking longer than a specific timespan?
I have tried using cancellation token as an argument to the methods specified in the base plugin interface, but it's the responsibility of the implementation to co-operate with the cancellation. Is there a way to enforce termination from the host app/ calling method?
I have a scenario where the Base plugin contract can be implemented in multiple ways for different use cases. All the plugin implementations are loaded into the Host app in different Assembly Load Contexts. Since the host app doesn't have control over the code written into the plugins, how can it terminate a plugin execution if it's taking longer than a specific timespan?
I have tried using cancellation token as an argument to the methods specified in the base plugin interface, but it's the responsibility of the implementation to co-operate with the cancellation. Is there a way to enforce termination from the host app/ calling method?