Viewing studio reports in MVC framework.



  • Ah ok, yes, this is normally done by the default VS template. Thanks for sharing it.



  • Hi Blaha, vbmark. I'm using the same example (cloned today from GitHub) and it runs perfectly in IISExpress but when using the local IIS instead I get an error in all actions (besides Index):

    Server Error in '/NetWebApp' Application.
    
    Could not find file 'C:\WINDOWS\TEMP\jsreport-temp\meta642b8545-b701-4a29-940c-8f2c0a8cdf26'.
    
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
    
    Exception Details: System.IO.FileNotFoundException: Could not find file 'C:\WINDOWS\TEMP\jsreport-temp\meta642b8545-b701-4a29-940c-8f2c0a8cdf26'.
    
    Source Error: 
    
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    
    Stack Trace: 
    
    
    [FileNotFoundException: Could not find file 'C:\WINDOWS\TEMP\jsreport-temp\meta642b8545-b701-4a29-940c-8f2c0a8cdf26'.]
       System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +1346
       System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +1132
       System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) +146
       System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize, Boolean checkHost) +179
       System.IO.File.InternalReadAllText(String path, Encoding encoding, Boolean checkHost) +84
       jsreport.Local.Internal.<RenderAsync>d__10.MoveNext() +1444
       System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31
       System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +62
       System.Runtime.CompilerServices.ConfiguredTaskAwaiter.GetResult() +31
       jsreport.MVC.<RenderReport>d__8.MoveNext() +696
    
    [AggregateException: One or more errors occurred.]
       System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) +4719080
       jsreport.MVC.JsReportStream.Close() +451
       System.Web.HttpWriter.FilterIntegrated(Boolean finalFiltering, IIS7WorkerRequest wr) +773
       System.Web.HttpResponse.FilterOutput() +126
       System.Web.CallFilterExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +61
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +97
    
    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.2103.2
    

    Sure enough, C:\Windows\temp\jsreport-temp has no "meta<guid>" files but has several "req<guid>.json" files.
    Any ideas on why it doesn't work in IIS? Or this scenario (run as utility) not supported in IIS?

    Thanks



  • We will look into it



  • Can you try to change the application pool identity to the LocalSystem?

    0_1504201629927_upload-3d94d321-fb33-41ba-81f2-217420f3bb68

    Can you try to kill all node processes from task manager, recycle the app pool and try it again?



  • Yup, that solved the matter (the change of the built-in account; I had no orphan node processes). That'll probably ruffle some feathers with our sysadmins due to security concerns though... let's hope not. :/
    Thanks :)



  • FYI I've finished the documentation, examples and also introduction video for the .NET jsreport sdk.
    Everything can be found here
    https://jsreport.net/learn/dotnet


Log in to reply
 

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.