找回密码
 立即注册

QQ登录

只需一步,快速开始

livi

金牌服务用户

32

主题

110

帖子

272

积分

金牌服务用户

积分
272
livi
金牌服务用户   /  发表于:2020-11-4 09:31  /   查看:2423  /  回复:4
一模一样的代码,没有修改,昨天可以运行,今天运行就报错,错误信息如下:
{
    "Error": "“GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider”的类型初始值设定项引发异常。",
    "message": "“GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider”的类型初始值设定项引发异常。",
    "details": "System.TypeInitializationException: “GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider”的类型初始值设定项引发异常。 ---> System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.IO.PathTooLongException: 指定的路径或文件名太长,或者两者都太长。完全限定文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。\r\n   在 System.IO.PathHelper.GetFullPathName()\r\n   在 System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)\r\n   在 System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)\r\n   在 System.IO.Path.GetFullPathInternal(String path)\r\n   在 System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath)\r\n   在 System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)\r\n   在 System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)\r\n   在 System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)\r\n   在 System.Web.InternalSecurityPermissions.PathDiscovery(String path)\r\n   在 System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping)\r\n   在 System.Web.HttpRequest.MapPath(VirtualPath virtualPath)\r\n   在 System.Web.HttpServerUtility.MapPath(String path)\r\n   --- 内部异常堆栈跟踪的结尾 ---\r\n   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)\r\n   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)\r\n   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)\r\n   在 System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)\r\n   在 GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider.GetMapPath()\r\n   在 GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider.GetConfigFilePath()\r\n   在 GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider.<>c.<.cctor>b__4_0(Boolean access)\r\n   在 GrapeCity.ActiveReports.AssertionHelper..<ExecuteWithMemberAccessAssert>b__0(Boolean access)\r\n   在 GrapeCity.ActiveReports.AssertionHelper.ExecuteWithAssert(CodeAccessPermission permission, Action`1 action)\r\n   在 GrapeCity.ActiveReports.AssertionHelper.ExecuteWithMemberAccessAssert(Action`1 action)\r\n   在 GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider..cctor()\r\n   --- 内部异常堆栈跟踪的结尾 ---\r\n   在 GrapeCity.ActiveReports.Configuration.DefaultConfigurationProvider..ctor()\r\n   在 GrapeCity.ActiveReports.Document.PageDocument.CreateReportProcessor(ReportSnapshot snapshot)\r\n   在 GrapeCity.ActiveReports.Document.PageDocument.get_ReportProcessor()\r\n   在 GrapeCity.ActiveReports.PageReport.set_ResourceLocator(ResourceLocator value)\r\n   在 .(String )\r\n   在 .(String ,  )"
}

Startup文件里面的配置:
  1. app.UseReporting(settings =>
  2.             {
  3.    settings.UseCustomStore(p =>
  4.     {
  5.         return new GrapeCityReportService().GetReport(p);
  6.     });
  7.     settings.UseCompression = true;
  8.             });
复制代码




4 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-11-4 09:49:44
沙发
这个问题看起来比较奇怪,你是不是更改了配置信息和当前机器的一些环境。你现在是使用JSviewer进行报表渲染是吧,当前最好的办法就是你新建一个JSviewer的项目看看,看看是不是可以正常运行。
回复 使用道具 举报
livi
金牌服务用户   /  发表于:2020-11-4 10:05:23
板凳
KearneyKang 发表于 2020-11-4 09:49
这个问题看起来比较奇怪,你是不是更改了配置信息和当前机器的一些环境。你现在是使用JSviewer进行报表渲染 ...

我是用JSviewer渲染的,新建一个JSviewer项目运行没有问题。我现在很奇怪为什么代码没有做修改今天就不行了,错误信息是前端发起的info接口返回的。   目前后端是在UseCustomStore方法的委托里面返回PageReport的实例,调试代码没有发现异常。现在不知道该如何处理这种情况
回复 使用道具 举报
livi
金牌服务用户   /  发表于:2020-11-4 10:39:30
地板
KearneyKang 发表于 2020-11-4 09:49
这个问题看起来比较奇怪,你是不是更改了配置信息和当前机器的一些环境。你现在是使用JSviewer进行报表渲染 ...

我将委托返回的值改成Report类的实例就好了,在此之前一直返回的PageReport类实例, 不知道返回PageReport类实例和返回Report类实例有啥区别,不知道后面会不会再次出现这种异常的情况。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-11-4 11:48:08
5#
Repor中包含了pagereport是一个包含的意思,后期应该不会出现对应的问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部