首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用程序启动时初始化库项目

在应用程序启动时初始化库项目
EN

Stack Overflow用户
提问于 2011-07-25 18:09:23
回答 2查看 682关注 0票数 0

在我的解决方案中,我有几个库项目。

我希望每个库项目在应用程序启动时进行一些初始化。

我知道我可以使用静态类和静态方法来完成这个任务,但是我不知道这是否是最好的解决方案。

这些库可以用于web应用程序或win应用程序。

这样做最好的方法是什么?

编辑:

示例:“传输”项目引用的“公共”项目。“公共”定义了允许注册的警报结构。在应用程序初始化中,我希望“传输”在“公共”的警报结构中注册自己的警报。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-25 18:26:59

我建议使用类似于托管扩展框架的东西,然后您可以创建一个包含Initialize方法的接口,当应用程序启动时,您将使用MEF获取所有可用的库,并调用它们的Initialize方法。这是一个更灵活的,并允许您添加和删除新的组件在未来。

票数 3
EN

Stack Overflow用户

发布于 2011-07-25 18:22:59

不太确定你想要达到什么目的。使用静力学,您没有一个保证的顺序,这些都是初始化。这可能不是一个要求。

另一个不同的选项是在每个库中实现一个简单的类,假设这些程序集也包含托管代码。

在应用程序的启动序列中,您可以使用反射遍历所有库,然后在每个库中找到这个简单的类,创建一个实例并调用包含初始化代码的方法。

在每个库中识别简单类有不同的方法。我的建议是让它们实现特定的接口或从特定的类派生。在这种情况下,您将有一个定义良好的接口,您的应用程序的启动序列可以使用。

使用这种方法,您还可以添加一些逻辑来强制执行执行初始化代码的特定序列。

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

https://stackoverflow.com/questions/6820413

复制
相关文章

相似问题

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