2015-11-09 56 views
0

我已經使用imageresizer和sqlreader插件幾年了,現在沒有問題。我剛剛從版本3.4.3升級到版本4.0.4,現在sqlreader插件似乎不工作。我有一個要點在這裏: https://gist.github.com/vishnu4/a859c2599f46998b612a 我能看到的主要事情是我用我的SQL調用存儲過程,你曾經支持使用'queriesAreStoredProcedures'參數。看看你的文檔http://imageresizing.net/docs/v4/plugins/sqlreader,該參數似乎不再存在。有另一種方式來支持這個功能,或者它消失了嗎?imageresizer sqlreader不再支持存儲過程?

編輯:我在瀏覽器控制檯得到的錯誤是:

[SqlNullValueException:數據爲Null。此方法或屬性不能在空值被調用。] System.Data.SqlTypes.SqlBytes.get_Length()2960929 ImageResizer.ImageBuilder.GetStreamFromSource(對象源,ResizeSettings設置,布爾& disposeStream,字符串&路徑,布爾& restoreStreamPosition )1156 ImageResizer.ImageBuilder.LoadImage(對象源,ResizeSettings設置,布爾restoreStreamPos)555 ImageResizer.ImageBuilder.BuildJob(ImageJob工作)+243 ImageResizer.ImageBuilder.Build(ImageJob工作)317 ImageResizer.ImageBuilder。 Build(Object source,Object dest,ResizeSettings settings,Boolean disposeSource,Boolean addFileExtension)+177 ImageResizer.ImageBuilder.Build(Object source,Obj ResctSetSettings設置,布爾disposeSource)+36 ImageResizer.ImageBuilder.Build(Object source,Object dest,ResizeSettings設置)+25 ImageResizer。 < > c__DisplayClass5_0。 <HandleRequest> b__1(Stream stream)+171 ImageResizer.Plugins.DiskCache。 < > c__DisplayClass29_0。 <TryWriteFile> b__0()496 ImageResizer.Plugins.DiskCache.LockProvider.TryExecute(String鍵,的Int32 timeoutMs,LockCallback成功)409 ImageResizer.Plugins.DiskCache.CustomDiskCache.GetCachedFile(字符串keyBasis,字符串擴展,ResizeImageDelegate writeCallback, INT32 timeoutMs,布爾異步)545個 ImageResizer.Plugins.DiskCache.DiskCache.Process(IResponseArgs E)125個 ImageResizer.Plugins.DiskCache.DiskCache.Process(HttpContext的上下文中,IResponseArgs E)60 ImageResizer.InterceptModule.CheckRequest_PostAuthorizeRequest(對象發件人,EventArgs e)+449 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+142 System.Web.HttpApplication.ExecuteStep(IExecutionStep s TEP,布爾& completedSynchronously)92

回答

0

queriesAreStoredProcedures配置參數在V4完全支持,儘管該文檔沒有提到它。

請更具體地說明什麼不起作用,以及您收到的特定錯誤消息和堆棧跟蹤。

更新

望着錯誤消息,看來你查詢的行對返回的行空值。考慮到the docs for SqlBytes.Length indicate it should return -1 instead,引發異常是很奇怪的。

我建議使用Sql Server Profiler或IntelliTrace來查看配置已生成的確切SQL命令,並驗證第一個結果的第一列實際上是否包含圖像字節。

+0

請參閱上面的控制檯錯誤編輯。該圖像只是不顯示,它在瀏覽器中顯示爲破碎的圖像。該網站工作正常,我通過nuget更新了i​​mageresizer到v4,現在我得到了這個錯誤,沒有改變我的代碼 – Phil

+0

中的其他任何東西,圖像是空白的,這就是爲什麼我也有Image404插件。你是對的,如果我使用的鏈接實際上有一個圖像,它的作品,但對於沒有圖像的,他們忽略我的'&404 = ...'查詢字符串參數。這個改變了嗎? – Phil

+0

404行爲可以通過[添加另一個條件]來修復(https://ci.appveyor.com/project/imazen/resizer/branch/develop/job/lh0yd9gjpqx60bab)。 –

相關問題