小编Mat*_*ski的帖子

奇怪的MIME类型来自哪里?

我有一个用于上传用C#编写的文件的Web服务.前端应用程序是用Javascript/HTML5编写的(使用https://github.com/blueimp/jQuery-File-Upload)

最近,我正在审查服务器日志,并发现了一些由客户端浏览器发送的PDF文件的奇怪MIME类型,例如:

application/unknown
application/force-download
application/force-download/n
application/force-download\n
[application/pdf]
Run Code Online (Sandbox Code Playgroud)

其中一些导致.NET框架抛出异常:

MultipartMemoryStreamProvider streamProvider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(streamProvider); 

"Message Error parsing MIME multipart body part header byte 156 of data segment System.Byte[]."
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办.

c# mime-types asp.net-web-api blueimp jquery-file-upload

5
推荐指数
1
解决办法
403
查看次数

Parallel.ForEach缺少项目

我有以下代码:

HttpContext httpContext = HttpContext.Current;
RequestContext currentContext = RequestContextManager.CurrentContext;
ILifetimeScope currentSessionScope = PlatformContext.LifeTimeScope;

ConcurrentQueue<Exception> exceptions = new ConcurrentQueue<Exception>();
ConcurrentBag<ParallelCalculateObj> forEachResult = new ConcurrentBag<ParallelCalculateObj>();
ConcurrentBag<ParallelCalculateObj> testForEachPassResult = new ConcurrentBag<ParallelCalculateObj>();

ParallelLoopResult loopResult = Parallel.ForEach(applications, () =>
{
    HttpContext.Current = httpContext;
    RequestContextManager.SetCustomCurrentContext(currentContext);
    PlatformContext.LifeTimeScope = currentSessionScope;
    return new ParallelCalculateObj();
}, (application, pls, localObj) =>
{
    try
    {
        // some code
    }
    catch (Exception e)
    {
        exceptions.Enqueue(e);
    }
    testForEachPassResult.Add(localObj);
    return localObj;
}, forEachResult.Add);
Run Code Online (Sandbox Code Playgroud)

哪里applications.Count = 3.上面的代码执行后,我得到了forEachResult.Count = 2testForEachPassResult.Count = 3 …

.net c# parallel.foreach

4
推荐指数
1
解决办法
2940
查看次数