Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebAPI多部分读取两次_C#_Asp.net Web Api_Owin_Multipartform Data - Fatal编程技术网

C# WebAPI多部分读取两次

C# WebAPI多部分读取两次,c#,asp.net-web-api,owin,multipartform-data,C#,Asp.net Web Api,Owin,Multipartform Data,我有一个owin应用程序,它承载一个或多个ApiController。我还插入了一个actionfilteratAttribute,它将在请求到达控制器之前验证请求 我在这个控制器中的一个方法期望请求是多部分的。这是由扩展方法读取的 Request.Content.ReadAsMultipartAsync(); 我面临的问题是,当我在actionfilteratAttribute和控制器中两次使用此方法时。第二次读取时,将抛出异常MIME多部分流的意外结束 我确实认为这是因为流从未被重置到位置

我有一个
owin应用程序
,它承载一个或多个
ApiController
。我还插入了一个
actionfilteratAttribute
,它将在请求到达
控制器之前验证请求

我在这个控制器中的一个方法期望请求是多部分的。这是由扩展方法读取的

Request.Content.ReadAsMultipartAsync();
我面临的问题是,当我在
actionfilteratAttribute
控制器中两次使用此方法时。第二次读取时,将抛出异常
MIME多部分流的意外结束

我确实认为这是因为流从未被重置到位置0,但由于我使用扩展方法,我无法控制此流的读取

有什么建议吗?我是否需要自己实现多部分消息的读取


干杯

您始终可以读取一次,并在
Items
容器中制作一个本地副本,以便后续读取来自副本。您如何将此副本传递给控制器?还是我遗漏了什么?“在ActionFilterAttribute和控制器中”您确定需要在过滤器和控制器中调用此方法吗?它被用于验证和..?它被用于验证和webapi方法需要做的任何事情。问题是,我将把它构建为一个框架。因此,我可以控制
ActionFilterAttribute
中发生的事情,但并不总是在WebApi控制器中。@TobiasMoeThorstensen:正如我所说,在
容器中。我相信你知道那个