我得到了这个例外:
将无效参数传递给函数
当试图从SqlFileStream
创建新实例时。码:
var fileStream = new SqlFileStream(strSqlPath, bytArrContext, FileAccess.Write)
我检查了所有非参数的参数是否为null。我一直在使用这个相同的确切代码,没有任何问题,我不知道现在发生了什么。
这是因为交易。请在事务范围内执行此操作。
目前的答案对我来说不够具体。其实质是:
new SqlFileStream(dataRow["FileStreamPath"].ToString(), (byte[])dataRow["TransactionContext"], FileAccess.Read)
应该在TransactionScope
内调用。
当您想要使用SqlFileStream时,您仍然必须在事务中。您可以将其转换为例如常规MemoryStream以在事务外部使用它。