3

I use stimulssoft report mvc for generating a report in an asp.net website. The report generates fine in "local" but when the site is uploaded to a server and a report is generated the user's session has been destroyed and the user is redirected to the login page. This is the report view:

@using Stimulsoft.Report.Mvc;
@{Layout = null;} 
<html> 
<head>
    <title>plan report</title>
</head>
<body>
@Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions()
{
    Theme = StiTheme.Office2013,
    ActionGetReportSnapshot = "ShowPlanReport",
    ActionViewerEvent = "ViewerEvent",
    ActionExportReport = "ExportReport",
    ActionPrintReport = "PrintReport",
    ClientRequestTimeout = 90000,
    ServerRelativeUrls = true,
})
</body>
</html>

and this is ShowPlanReport action in administrator Controller.

public virtual ActionResult ShowPlanReport()
{          
        List<ReportPlanFullViewModel> FinalResult = new 
        List<ReportPlanFullViewModel>();
        var db = new anjomanEntities();
        foreach(Plan temp in reportList)
        {
            ReportPlanFullViewModel model = new ReportPlanFullViewModel();
            model.PlanID = temp.ID;
            model.Farmer = temp.Farmer;
            model.NationalCode = temp.NationalCode;
            model.System = temp.WaterSystem.Name;
            model.RainArea = temp.RainArea;
            model.DropArea = temp.DropsArea;
            model.Mobile = temp.Mobile;
            model.Address = temp.Address;
            model.Village = temp.Village;
            if(db.PlanTopograpger.Where(x=>x.PlanID == temp.ID).Count() > 0)
            {
                model.Topograph = db.PlanTopograpger.FirstOrDefault(x => x.PlanID == temp.ID).Topographer.Name;
                model.Topograph += " ";
                model.Topograph = db.PlanTopograpger.FirstOrDefault(x => x.PlanID == temp.ID).Topographer.Family;
            }
            else
            {
                model.Topograph = "";
            }
            if(db.PlanDesignerAdvisor.Where(x => x.PlanID == temp.ID).Count() > 0)
            {
                model.Design = db.PlanDesignerAdvisor.FirstOrDefault(x => x.PlanID == temp.ID).Advisor.Name;
                model.Design += " ";
                model.Design += db.PlanDesignerAdvisor.FirstOrDefault(x => x.PlanID == temp.ID).Advisor.Family;
            }
            else if (db.PlanDesignerCompany.Where(x => x.PlanID == temp.ID).Count() > 0)
            {
                model.Design = db.PlanDesignerCompany.FirstOrDefault(x => x.PlanID == temp.ID).Company.Name;
            }
            else
            {
                model.Design = "";
            }
            if(db.PlanChecker.Where(x => x.PlanID == temp.ID).Count() > 0)
            {
                model.Checker = db.PlanChecker.FirstOrDefault(x => x.PlanID == temp.ID).Company.Name;
            }
            else
            {
                model.Checker = "";
            }
            if(db.PlanExecute.Where(x => x.PlanID == temp.ID).Count() > 0)
            {
                model.Executer = db.PlanExecute.FirstOrDefault(x => x.PlanID == temp.ID).Company.Name;
            }
            else if (db.PlanExeHistory.Where(x => x.PlanID == temp.ID).Count() > 0)
            {
                model.Executer = db.PlanExeHistory.FirstOrDefault(x => x.PlanID == temp.ID).Company.Name;
            }
            else
            {
                model.Executer = "";
            }
            if(db.PlanValidate.Where(x => x.PlanID == temp.ID && x.Validate == true && x.PlanExecute == true).Count() > 0)
            {
                model.ValidDate = ToJalali(db.PlanValidate.FirstOrDefault(x => x.PlanID == temp.ID && x.Validate == true && x.PlanExecute == true).ValidDate);
            }
            else
            {
                model.ValidDate = "";
            }
            FinalResult.Add(model);
        }
        var mainReport = new Stimulsoft.Report.StiReport();
        mainReport.Load(Server.MapPath("~/Report/PlanReport.mrt"));
        // 
        try
        {
            mainReport.Compile();
        }
        catch(Exception c)
        {
            ViewBag.Message = c.Message;
        }
        mainReport.RegBusinessObject("plan_business", FinalResult);
        return 
     Stimulsoft.Report.Mvc.StiMvcViewer.GetReportSnapshotResult(mainReport);
}

There is no log, no exception and I can't find out the source of problem. Please help.

RickL
  • 3,318
  • 10
  • 38
  • 39

0 Answers0