是否有一个DCOM暴露的对象允许流式写入锁定的UTF8文件?

时间:2009-04-28 18:42:05

标签: file com stream dcom

Scripting.FileSystemObject TextStream对象支持Windows样式Unicode和系统代码页修改的“纯文本”,但似乎不支持UTF8 - 但是,它实际上可以流式处理为更新而锁定的文件,例如IIS日志文件。

ADODB.Stream支持UTF-8(或原始二进制),但不会“LoadFromFile”一个已被锁定以进行更新的文件,尽管该文件可以在例如记事本中打开。 (导致错误的结果:ADODB.Stream文件无法打开。错误代码为0x800a0bba) - 尽管尝试在“读取”模式或“共享”模式下打开流。好像服务器端COM对象需要更多的锁定,而不是实际请求它。

还有其他选择吗?我通过DCOM远程调用这些,但即使在主机系统上进行测试也会导致相同的行为。

理想情况下,会有一个组件可以充当流(即支持搜索机制),可以流式传输原始字节(二进制),也可以处理纯文本,Unicode和UTF-8,并且可以读取文件开放写作。有人知道这样的野兽吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是你想要的,但你可以构建自己的服务器端流媒体,看看IPipeByte。它是一个自win2k以来存在的接口,可以让您轻松地在客户端和服务器之间传输字节。由于您将从文件中进行实际读取,因此权限问题将只是操作系统对您施加的权限问题。当然,文本格式根本不是问题。

关于使用管道的文章很好,可以找到here。缺少示例代码,但可能在离线MSDN中找到它。