【发布时间】:2023-03-23 20:20:01
【问题描述】:
我有一个用 ASP.NET MVC 编写的带有 SQL Server 后端的 Web 服务。客户端可以在调用 Web 服务时发送大量数据,每个数据大约为 10 兆字节。
在服务器端,我想读取 HTTP 请求流并将其写入 SQL 表中的 VARBINARY 字段。 如何在不将整个流读入内存数组的情况下做到这一点?
我担心内存的原因是这个系统需要扩展到 1000 个并发客户端(至少)。
我目前正在使用 Linq to SQL,它看起来不支持数据流,因为 Linq Binary 类型只能使用字节数组进行初始化。
还有其他方法可以使用 Linq to SQL 做到这一点吗?
如果使用 Linq to SQL 无法做到这一点,我该如何使用 ADO.NET 或其他方法做到这一点?
【问题讨论】:
-
你用的是什么版本?建议使用 Filestream,而不是在数据文件中以 blob 形式存储大数据。
-
@Martin - 什么文件流?如果没有进一步的阐述,您的评论并不是很有用。
-
@Peter:这里的一些人认为读者足够聪明,可以在文档的搜索中输入一个术语。
-
@TomTom - SO 具有类似 wiki 的简单功能,可以轻松添加带有相关内容链接的快速阅读答案。不使用这些功能只是懒惰。此外,称人们愚蠢并不能成为一个非常有建设性的论点。在这种特定情况和上下文中,我至少可以想到两个
Filestreams。要求每个读者猜测@Martin 指的是哪一个非常有用吗?国际海事组织,没有。
标签: sql-server asp.net-mvc linq-to-sql ado.net scalability