首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCSF:将消息追加到LogView。使用事件发布

SCSF:将消息追加到LogView。使用事件发布
EN

Stack Overflow用户
提问于 2010-03-11 16:07:38
回答 1查看 491关注 0票数 1

我在Infrastructure.Module项目中创建了一个新视图(LogView)。此视图将用作VS中类似LogViewer的输出窗口。我想在这个LogView中编写来自不同模块的不同状态消息。

我还创建了一个LogWriter类,它将发布一个将消息写入LogView的事件

在我的整个应用程序中访问这个LogWriter类时遇到了问题。请告诉我如何使用这个。

代码语言:javascript
复制
public class LogWriter 
    {
        [EventPublication(EventTopicNames.WriteToLog, PublicationScope.Global)]
        public event EventHandler<EventArgs<string>> WriteToLog;

        private void OnWriteToLog(EventArgs<string> eventArgs)
        {
            if (WriteToLog != null)
            {
                WriteToLog(null, eventArgs);
            }
        }

        public void WriteMsg(string msg)
        {
            OnWriteToLog(new EventArgs<string>(msg));
        }
    }

在LogView事件中,订阅是

代码语言:javascript
复制
 [EventSubscription(EventTopicNames.WriteToLog, ThreadOption.UserInterface)]
        public void OnWriteToLog(object sender, EventArgs<string> eventArgs)
        {
            this.txtLogs.AppendText(eventArgs.Data + Environment.NewLine);
        }

请给我一个解决方案

LogWriter类在Infrastructure.Interface项目中,LogViewer在Infrastructure.Module项目中

在ModuleController.cs of Infrastructure.Module中,我在WorkItem.Services集合中添加了LogWriter

代码语言:javascript
复制
 WorkItem.Services.AddNew<LogWriter>();

在另一个项目中,我正在使用

var logWriter = WorkItem.Services.Get();if (logWriter != null) logWriter.WriteMsg("message");

但它返回给我的是null。

模块加载顺序也是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-11 16:14:40

将此属性添加到LogWriter类中

代码语言:javascript
复制
[Service(typeof(LogWriter), AddOnDemand=true)]
public class LogWriter
{
    ...
}

然后,在您的代码中,只需执行以下操作即可访问它:

代码语言:javascript
复制
var logWriter = WorkItem.Service.Get<LogWriter>();
if (logWriter != null)
    logWriter.WriteMsg("message");

这将要求在试图访问LogWriter的模块之前加载它所在的模块。如果它们是分开的,我建议添加一个模块依赖项。具体的方法取决于您所使用的IModuleLoader。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2423411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档