繁体   English   中英

FFTW.NET DFT.FFT(pinIn,pinOut)在WEB API中引发System.InvalidOperationException

[英]FFTW.NET DFT.FFT(pinIn, pinOut) is throwing System.InvalidOperationException in WEB API

我想在.NET Core 2.1 WEB API中使用FFTW.NET。 当我执行下面的代码时,我得到System.InvalidOperationException: 'IsAvailable returns false.' DFT.FFT(pinIn, pinOut);

        Complex[] input = new Complex[1024];
        Complex[] output = new Complex[input.Length];

        //Initialize input         

        using (var pinIn = new PinnedArray<Complex>(input))
        using (var pinOut = new PinnedArray<Complex>(output))
        {
            DFT.FFT(pinIn, pinOut);
        }

以下是堆栈跟踪。

   at FFTW.NET.FftwPlan`2..ctor(IPinnedArray`1 buffer1, IPinnedArray`1 buffer2, Int32 rank, Int32[] n, Boolean verifyRankAndSize, DftDirection direction, PlannerFlags plannerFlags, Int32 nThreads)
   at FFTW.NET.FftwPlanC2C.Create(IPinnedArray`1 input, IPinnedArray`1 output, DftDirection direction, PlannerFlags plannerFlags, Int32 nThreads)
   at FFTW.NET.DFT.Transform(IPinnedArray`1 input, IPinnedArray`1 output, DftDirection direction, PlannerFlags plannerFlags, Int32 nThreads)
   at FFTW.NET.DFT.FFT(IPinnedArray`1 input, IPinnedArray`1 output, PlannerFlags plannerFlags, Int32 nThreads)
   at FFTW_WEB_API.Controllers.ValuesController.Get() in D:\FFTW_Test\FFTW_WEB_API\Controllers\ValuesController.cs:line 1059
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target, Object[] parameters)
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()

但是,同一段代码在.NET Core 2.1控制台应用程序中也可以正常工作。

如果我做错了,请提出建议。

在内部调用IsAvailable以测试互操作层是否满意- 在此处找到

如果尝试加载Dll导致DllNotFoundException (通过GetVersionAndInitialize_version ),则看起来它将返回false

因此,本机DLL不在正确的加载位置。 如果不清楚要在哪个位置探测DLL,则可能要使用Process Monitor查找失败的探测尝试以加载DLL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM