Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中使用DFC获取文档内容#_C#_Documentum_Dfc - Fatal编程技术网

C# 如何在c中使用DFC获取文档内容#

C# 如何在c中使用DFC获取文档内容#,c#,documentum,dfc,C#,Documentum,Dfc,我有documentum developer edition 6.6。我想在c#中使用DFC获取文档内容(将内容读入流)。我使用了以下C#.net代码 但它抛出以下异常 异常:无法将“System.\u ComObject”类型的COM对象强制转换为 接口类型“DFCLib.IDfDocument”。此操作失败,因为 对具有IID的接口的COM组件的QueryInterface调用 由于以下原因,{EFAC2D68-175B-11D2-9927-006097C27C31}失败 错误:不支持此类接

我有documentum developer edition 6.6。我想在c#中使用DFC获取文档内容(将内容读入流)。我使用了以下C#.net代码

但它抛出以下异常

异常:无法将“System.\u ComObject”类型的COM对象强制转换为 接口类型“DFCLib.IDfDocument”。此操作失败,因为 对具有IID的接口的COM组件的QueryInterface调用 由于以下原因,{EFAC2D68-175B-11D2-9927-006097C27C31}失败 错误:不支持此类接口(HRESULT的异常:0x80004002 (E_NOINTERFACE))

我还尝试了以下方法(它运行成功),但我不知道如何将内容读入流或内存流

IDfId id = collection.getId("r_object_id"); 
IDfSysObject sysObject = (IDfSysObject) session.getObject(id);

这将将文件转储到本地文件系统路径:

IDfId id = collection.getId("r_object_id"); 
IDfSysObject sysObject = (IDfSysObject) session.getObject(id);

sysObject.getFile(<path>)
IDfId id=collection.getId(“r_object_id”);
IDfSysObject sysObject=(IDfSysObject)会话.getObject(id);
sysObject.getFile()
然后,您可以使用标准的.Net IO库将文件作为流打开,例如:

var stream = new System.IO.StreamReader(<path>)
var stream=new System.IO.StreamReader()
我相信DFC有一些基于流的公共方法(getContent?),但我还没有看到它们在.Net中成功使用。不过,我建议您看一下DFS(Debug),而不是DFC。这是现在支持的API,DFC不推荐作为公共API使用。DFS在处理存储库内容时确实有流选项


您可能还需要检查此答案是否不足以满足您的需要。

例外情况表明它无法将COM对象转换为IDF文档

我猜你的目标不是文件

非文档sysobject有内容是很奇怪的,但它仍然是允许的。 然后可以按照另一个答案中的建议,使用getFile读取内容

var stream = new System.IO.StreamReader(<path>)