2016-03-24 54 views
0

是否有可能在一個.dll中引發一個可由另一個處理的事件?如果是這樣,我應該看什麼。一個C#dll可能引發另一個C#dll處理的事件嗎?

編輯:

我覺得這兩個DLL是在同一個進程中運行 - 他們都是插件到另一個程序。我受限於我可以使用插件做什麼,因此需要進行這種交流。

我想過寫入本地文件並從其他dll讀取它,但我怎麼知道什麼時候讀它。

+0

進程或DLL?請詳細說明你的情況。 – usr

+2

一個dll不是一個進程。你不能在一個進程中引發一個.NET事件並在另一個進程中處理它,但是你可以*從一個DLL中的代碼中引發它,並用另一個代碼處理它,如果它們在同一進程中運行 –

+0

你是什麼試圖做什麼?在不知道具體細節的情況下建議其他技術是不可能的。就我們所知,你甚至可能不需要事件,例如。如果你試圖實現一個生產者/消費者對 –

回答

2

這就是所謂的Interprocess Communication

你可能想看看在管道,或可考慮在IpcChannel Class,這可能使事情變得更簡單。我個人沒有使用C#語言中的任何語言,但是重要的是,背後有一個想法和技術,其餘部分是實現細節。

+1

不完全。由於不同的技術適合不同的場景,你*需要知道場景。例如。不需要啓動多個進程來執行並行處理。另一方面,WCF在IPC之上提供了抽象(雖然不是很好)。重定向標準流是另一種選擇。 –

+0

@PanagiotisKanavos這是在我的文章中「知道創意和技術」的詞語。一旦你瞭解了他們,並且明確了你的項目領域,你就可以做出適當的選擇。 – Tigran