c# - 尝试将数据导入 EPiServer 时出现 400 错误
问题描述
我正在尝试将两个2.6 GB 和 6 GB 的episerverdata文件导入一个没有其他内容的网站,并且只是该网站的源代码。我试图在使用 IIS Express 的本地开发机器上执行此操作。但是,每当我尝试上传任一文件时,文件都会达到 99%,然后显示 HTTP 错误 400 - 错误请求。该错误表示 ASP.NET 在 URL 中检测到无效字符,但我不明白如何考虑它只是一个文件上传,并且文件的名称完全符合 (Pages_ExportedFile)。
我尝试使用我的项目的 web.config 来增加 IIS 的文件上传限制:
- maxRequestLength="40960"
- 执行超时="7200"
- maxAllowedContentLength="1073741824"
我还尝试将站点从 4.5 缓慢升级到 ASP.NET Framework 4.6.1。我现在正在使用 EPiServer 10,尽管我正在尝试将其升级到 11 以查看这是否可以解决问题。
解决方案
maxRequestLength以千字节为单位设置,如果您的文件为 6.0 GB,则它至少应具有值 6291456,
executionTimeout以秒为单位设置,7200 表示两个小时。这应该足够了,我假设您在 system.web 部分中设置了元素,即。
<system.web>
<httpRuntime executionTimeout="7200" />
</system.web>
maxAllowedContentLength以字节为单位设置,6.0 GB = 6442450944 字节
由于您使用的是 IISExpress,因此存在一些限制
- 根据您的版本,可能存在实际存储限制
- 您可能需要调整 applicationhost.config 文件
%userprofile%\Documents\IISExpress\config
。根据实现,上面设置的设置也可能适用于 iis 配置,并且超时实际上可能来自 iisexpress 而不是 iis。
推荐阅读
- kotlin - 序列化地图
> - vue.js - 使用 v-if 语句后没有出现 Div
- css - 如何在 ReactJs 中使用 react-stack-cards 创建水平和垂直动画滑块?
- python - 如何解决:“FitFailedWarning:估计器拟合失败。这些参数的训练测试分区上的分数将设置为 nan?”
- openlayers - OpenLayers 中有没有办法在 EPSG:4326 地图上渲染 EPSG:3857 瓦片?
- formatting - 将整数列表格式化为带千位分隔符的整数
- c++ - CPP:在不使用继承的情况下动态更改类中的 typedef?
- firebase - 颤振:如何从颤振查询快照流中获取 docID
- html - 使div溢出并允许水平滚动(div的动态量)
- javascript - Vue.Draggable div 项目左右显示