我目前正在增强产品以支持大型文件内容的网络传送。 我想将它存储在数据库中,无论我是否选择BLOB的FILESTREAM,以下问题仍然存在。
我的WCF方法将返回一个流,这意味着当客户端读取内容时,文件流将保持打开状态。如果连接速度很慢,那么流可能会打开一段时间。
问题:连接池假设仅在短时间内保持连接。我是否正确假设,如果我有一个有限大小的连接池,如果使用慢速网络连接来下载文件,可能会出现争用问题?
在这种假设下,我真的想使用FILESTREAM,并直接从文件系统打开文件,而不是SQL连接。但是,如果数据库是远程的,我将别无选择,只能从SQL连接中提取内容(直到我拥有该文件的本地缓存)。
我意识到我还有其他选择,例如服务器缓冲流,但这也会产生影响。我希望在这个时候,只讨论与从DB连接中获得的流返回有关的问题。