我開始基於Observable模式創建一個日誌系統。爲此我使用Reactive Extensions。 我有一個名爲ILogInfo的IObservable和一個名爲ILogObserver的IObserver。 我有一個使用共享庫的各種模塊的主應用程序。每個模塊都實現了一個ILogInfo觀察器,這些模塊可以並行工作。我的問題在於,我想僅觀察在我的模塊範圍內註冊的ILogInfo。每個應用程序模塊的多個記錄器實例
在此方案中,我有兩個模塊(模塊A和模塊B),每個模塊使用經由ILogInfo推送信息許多文庫。當LibC推送一個新的ILogInfo時,我希望只有調用模塊能夠捕獲(觀察)這些信息。例如,當呼叫來自模塊B時,我不需要模塊A觀察到的信息。我怎麼能這樣做?
如何在ILogInfo中設置'發件人'字段?然後你可以將日誌推送到公共總線上,並且消費者可以使用logBus.Where(l => l.Sender == moduleA) – 3dGrabber
過濾流。感謝您的評論,但是如果我這樣做,我必須將發件人信息轉發目前我有太多的庫來考慮這個解決方案。 –