我正在开发自定义数据转换组件。我正在使用NUnit和NMock2来测试我的代码。正确地测试和获取自定义UI和其他功能是一个巨大的痛苦,部分原因是我找不到任何关于SSIS在设计时调用组件方法以及运行时的顺序的文档。
我可以很容易地纠正这些问题,但是取消注册旧版本,注册新版本,启动测试ssis包,尝试显示UI,获取一个模糊的错误消息,回溯它,这是繁琐和耗时的,修改组件并继续。
其中一个重大问题涉及UI组件在设计时需要访问组件的componentmetadata和buffermanager属性,以及我需要提供什么来支持在之后才会初始化的属性用户在UI中输入它们。
我可以通过它;但如果有人知道一些可以加速我的文档或提示,我会非常感激。我发现的样品没有多大用处;他们似乎被指示炫耀很酷的东西(Twitter,weather.com),而不是实际的工作。
提前致谢。
答案 0 :(得分:0)
这是运行时执行序列的时间轴:Run-time Methods of a Data Flow Component
设计时序列没有在MSDN中很好地列出,因为没有这样的序列,但这是我的想法/知道: 1. ProvideComponentProperties - 在组件放置在设计图面上时调用ONCE EVER。 2. PerformUpgrade - 如果元数据版本与类上的版本属性不同,则调用ONLY - 在包加载时调用。 3.验证 - 在包加载,输入附件,进入编辑器等过程中调用FREQUENTLY ... 4. ReinitializeMetaData - 不经常调用,仅因为从Validate返回VS_NEEDSNEWMETADATA值。
其他覆盖的所有内容(OnInputAttached等)在调用时都相当简单。这是一篇不那么具描述性的文章:Design-time Methods of a Data Flow Component。