所以我跑進了this issue與南希的Windsor引導程序。我設法鞭策一個小型測試項目,在那裏我可以重現出現問題的地方。您可以找到項目here。Castle Windsor IInterceptor Configuration(Nancy bug)
什麼似乎出問題是這樣的:DynamicProxy似乎只趕上void Handle(Action<string> oncomplete)
方法的調用,而不是string Handle(string input)
方法被稱爲
另一個線程
。
好像
Scratch that:這只是對未經代理的同一類的另一個方法的調用。Engine
在發送到另一個線程後不再進行代理。
這意味着程序的輸出只有
Handled Handle with return type System.Void
test
,而不是
Handled Handle with return type System.Void
Handled Handle with return type System.String
test
這是動態代理的預期行爲?在另一個線程上的代理不再是長久的代理嗎?或者代碼有問題嗎?
編輯:只是RTFM'd動態代理,它好像它Works As Intended。現在如何配置我的IEngine實例來使用正確的代理類型?
對不起,鏈接到我的項目是不是正確的版本。您查看的修訂版本實際上包含工作代碼,但我並不想像在您所查看的修訂版本中那樣繼承'Engine'。 – Lodewijk
當前鏈接是否正確? – Marwijn
Jep,只是編輯它。事情是,如果我要引擎子類,那麼我不再需要DynamicProxy。所以我想盡量避免這種情況 – Lodewijk