Command 'Groupdocs.Storage.Azure.FileExistsCommand' is not supported by the storage

I almost have everything working using Azure as the storage provider but I’ve run into this error:


Command 'Groupdocs.Storage.Azure.FileExistsCommand' is not supported by the storage.


This happens when I call /document-viewer/ViewDocument


Here is the code I’m using to set the storage provider


WidgetFactory.SetStorageProvider(SupportedStorageProvider.Azure, "http://ouraccountname.blob.core.windows.net", , , "groupdocs");


Any ideas on what I'm missing?

Here is the stack trace:


ERROR Global HttpApplication Error Handler Catch.

Url Username UserAgentSystem.NotSupportedException: Command 'Groupdocs.Storage.Azure.FileExistsCommand' is not supported by the storage.

at Groupdocs.Storage.RemoteFileStorage`1.j9z6cledehng7vcnhlhdm6d8zze788n9 [TResult](String , String )

at Groupdocs.Storage.Azure.AzureFileStorage.j9z6cledehng7vcnhlhdm6d8zze788n9 [TResult](String , String )

at Groupdocs.Storage.RemoteFileStorage`1.j9z6cledehng7vcnhlhdm6d8zze788n9 (String )

at Groupdocs.Storage.RemoteFileStorage`1.FileExists(String path)

at Groupdocs.Engine.Viewing.ViewingService.GeneratePageImages(String filePath, ViewingOptions options, String outputFolder)

at Groupdocs.Web.UI.Controllers.GroupdocsViewerController.ViewDocument(String guid, Boolean useHtmlBasedEngine, Boolean usePngImagesForHtmlBasedEngine, Nullable`1 count, Nullable`1 width, Nullable`1 quality, Boolean usePdf, Nullable`1 preloadPagesCount, Boolean convertWordDocumentsCompletely, String fileDisplayName, String watermarkText, Nullable`1 watermarkColor, Boolean ignoreDocumentAbsence, String callback)

at lambda_method(Closure , ControllerBase , Object[] )

at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)

at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)

at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.ActionInvocation.InvokeSynchronousActionMethod()

at System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3f()

at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.b__41()

at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.b__41()

at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.b__32(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c()

at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)

at System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)

at System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult, Controller controller)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)

at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)

at System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)

at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()

at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag)

at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)

at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Hello Jason,

We are sorry to hear that you have such issue. We are currently investigating the issue that you had described. We will reply to you when we will find a way how to solve this issue, it should be later today or on Monday.

So please stay tuned and sorry for the inconvenience.

Hello again Jason,

Our developers have fixed bug with GroupDocs.Annotation for .NET - now it supports Azure Storage correctly. You can open documents that are located on the Azure Storage like “usual” documents, by specifying their names in the “FilePath” method.

I’m sending you a link to the fixed assembly version 1.3.51.9993 at yours corporate email address. Please do not share this version at public because it’s not released yet.

Hello Jason,

We are very sorry for such long delay. After intense testing and investigation we could reproduce the problem that you had described. After review our dev team can confirm that this is bug inside Annotation for .NET. Right now, at this moment, dev team works with it. We will try to fix it as soon as possible, and when fix will be ready, we will immediately notify you.

Thanks for waiting and our apologies.