偶尔500s使用Faces插件 - 代表无法编组

时间:2017-06-15 14:21:32

标签: iis imageresizer

我们正在使用3.4.3的ImageResizer和精英插件。似乎我们遇到的任何麻烦都与Faces插件有关。图像不会显示,并且在查看网络响应​​时,堆栈跟踪显示“代理不能从本机代码封送到除其主域之外的域”。完全跟踪在这里


[NotSupportedException: Delegates cannot be marshaled from native code into a domain other than their home domain.]
   System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointerInternal(IntPtr ptr, Type t) +0
   System.Runtime.InteropServices.Marshal.GetDelegateForFunctionPointer(IntPtr ptr, Type t) +267
   OpenCvSharp.CvInvoke..cctor() +328

[TypeInitializationException: The type initializer for 'OpenCvSharp.CvInvoke' threw an exception.]
   OpenCvSharp.Cv.Load(String filename, CvMemStorage memstorage, String name, String& real_name) +222
   ImageResizer.Plugins.Faces.FeatureDetectionBase`1.LoadFiles() +621
   ImageResizer.Plugins.Faces.FeatureDetectionBase`1.DetectFeatures(Bitmap b) +82
   ImageResizer.Plugins.Faces.FacesPlugin.PostPrepareSourceBitmap(ImageState s) +341
   ImageResizer.Resizing.AbstractImageProcessor.PostPrepareSourceBitmap(ImageState s) +99
   ImageResizer.ImageBuilder.Process(ImageState s) +60
   ImageResizer.ImageBuilder.buildToBitmap(Bitmap source, ResizeSettings settings, Boolean transparencySupported) +276
   ImageResizer.ImageBuilder.buildToStream(Bitmap source, Stream dest, ResizeSettings settings) +149
   ImageResizer.ImageBuilder.BuildJob(ImageJob job) +1353
   ImageResizer.ImageBuilder.Build(ImageJob job) +268
   ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource, Boolean addFileExtension) +124
   ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings, Boolean disposeSource) +36
   ImageResizer.ImageBuilder.Build(Object source, Object dest, ResizeSettings settings) +23
   ImageResizer.<>c__DisplayClass3.<HandleRequest>b__2(Stream stream) +287
   ImageResizer.Plugins.DiskCache.<>c__DisplayClasse.<TryWriteFile>b__d() +593
   ImageResizer.Plugins.DiskCache.LockProvider.TryExecute(String key, Int32 timeoutMs, LockCallback success) +424
   ImageResizer.Plugins.DiskCache.CustomDiskCache.TryWriteFile(CacheResult result, String physicalPath, String relativePath, ResizeImageDelegate writeCallback, DateTime sourceModifiedUtc, Int32 timeoutMs, Boolean recheckFS) +517
   ImageResizer.Plugins.DiskCache.CustomDiskCache.GetCachedFile(String keyBasis, String extension, ResizeImageDelegate writeCallback, DateTime sourceModifiedUtc, Int32 timeoutMs, Boolean asynchronous) +819
   ImageResizer.Plugins.DiskCache.DiskCache.Process(IResponseArgs e) +209
   ImageResizer.Plugins.DiskCache.DiskCache.Process(HttpContext context, IResponseArgs e) +47
   ImageResizer.InterceptModule.HandleRequest(HttpContext context, String virtualPath, NameValueCollection queryString, IVirtualFile vf) +1687
   ImageResizer.InterceptModule.CheckRequest_PostAuthorizeRequest(Object sender, EventArgs e) +1163
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165

我找到this page并确保我们没有使用重叠回收。我尝试升级到4.1.7,但尝试将所有opencv版本/位数排成一行是一个噩梦。该应用程序会经常崩溃,并根据它的人质保留其余的网站,所以我们回滚到3.4.3,至少有效,然后没有。当我们重新启动IR应用程序池时,我们的常规问题会暂时消失。

我们的网络应用程序托管在由BigIP进行负载平衡的两个VMS上。每个VM都有两个Web应用程序,它们共享一个托管在同一服务器上的图像缩放器,并使用URL API进行调整大小请求,面部检测+裁剪等。

我能够获得的另一个信息来自DebugDiag。我抓住了应用程序的崩溃,并显示以下消息:


In w3wp__ImageResizer__PID__5284__Date__06_14_2017__Time_08_23_10AM__122__First chance exception 0XE0434352.dmp the assembly instruction at KERNELBASE!RaiseException in C:\Windows\System32\KERNELBASE.dll from Microsoft Corporation has caused a CLR Exception on thread 28 with the following error information:
    Type:   ImageResizer.Plugins.Faces.AlternateResponseException 
    Message:   Resizing was canceled as JSON data was requested instead 
This exception originated from ImageResizer.Plugins.Faces.FacesPlugin.Render(ImageResizer.Resizing.ImageState).

可以找到调试页面here

0 个答案:

没有答案