【发布时间】:2017-07-03 17:59:44
【问题描述】:
我有一个 asp.net core web api,可以启用 tts 请求。你基本上是请求http://server.url/Whatever you want it to say.mp3 得到一个 mp3,其中包含 tts 中的文本。
但问题是,如果我将一个长字符串传递给它,它将返回一个400 - The request URL is invalid。似乎服务器正在达到某种最大 URL 长度限制。我可以找到有关如何解决此问题的信息,即“经典”asp.net web.config,但不是如何在 asp.net 核心中解决此问题。
在 asp.net core 中增加最大 URL 长度的正确方法是什么?
更新:
具体的网址例如:
它是 URL 编码的。我会尝试找出确切的最大值是多少。
我不能使用 POST,因为要使用它的工具仅支持 mp3 文件的 url(因此我的控制器中使用了 .mp3 扩展名)。
更新 2
它接受的最长请求有 397 个字符,这看起来不太合乎逻辑。如果我再添加一个,它将返回一个代码 400。
更新 3
事实证明,只有在服务器上部署(使用 IIS)时才会出现这个问题,在本地运行时,它支持更长的字符串(我还没有看到它返回代码 400)。我将不得不查看 IIS 以了解它出错的地方。
【问题讨论】:
-
您使用的具体网址是什么?
-
你可以使用 POST 而不是 GET。
-
崩溃时到底有多大(多字符)?您是否尝试对您的网址进行 url_encoding(空格 =>
%20或+)?
标签: asp.net-core asp.net-core-webapi