【问题标题】:Configure Telerik Reporting with ASP.NET MVC使用 ASP.NET MVC 配置 Telerik 报告
【发布时间】:2018-12-25 16:00:08
【问题描述】:

我正在关注这篇关于如何在 ASP.NET MVC 5 和 .NET 4.6.1 Using HTML5 ASP.NET MVC Report Viewer in a web application 然后 Telerik Reporting REST Web API to Web Application 上配置 Telerik 报告的文章

在这方面我不能做的一件事是注册路线

如果我这样做,我会收到以下错误。我认为它与其他一些路线冲突,不知道它在哪里......

我尝试注释掉 MVC 路由注册,这也给出了同样的错误

//RouteConfig.RegisterRoutes(RouteTable.Routes);

名为“资源”的路由已在路由集合中。路线 名称必须是唯一的。参数名称:名称

因此,当我对以下 URL 进行 POST 调用时,无需注册路由,我会得到很好的响应。

但是,如果我尝试根据文档验证报告,则会收到以下错误 非常感谢任何帮助。

更新


路线问题已修复。删除了 WebApiConfig 初始化中的重复条目

访问此网址时http://localhost:[portnumber]/api/reports/formats 以下错误仍未解决

{"message":"发生错误。","exceptionMessage":"类型 初始化器 'Telerik.Reporting.Processing.RenderingExtensionManager' 抛出了一个 异常。","exceptionType":"System.TypeInitializationException","stackTrace":" 在 Telerik.Reporting.Services.Engine.ReportEngine.ListRenderingExtensions()\r\n 在 Telerik.Reporting.Services.WebApi.ReportsControllerBase.GetDocumentFormats()\r\n 在 lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.c__DisplayClass6_2.b__2(对象 实例,Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(对象 实例,Object[] 参数)\r\n 在 System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext,IDictionary`2 参数,CancellationToken cancelToken)\r\n--- 来自先前位置的堆栈跟踪结束 抛出异常的地方 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\r\n 在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- 从先前抛出异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\r\n 在 System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- 从先前抛出异常的位置结束堆栈跟踪 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\r\n 在 System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()"}

【问题讨论】:

    标签: c# asp.net-mvc telerik telerik-reporting


    【解决方案1】:

    我在 web.config 中有这个部分,我删除了它,它工作正常

    <section name="Telerik.Reporting" type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting, Version=12.2.18.1129, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" allowLocation="true" allowDefinition="Everywhere" />
    

    【讨论】:

      【解决方案2】:

      如果您确定以下行不会在 Application_Start 中出现两次,然后进入 bin folder of projectdelete 所有 DLL 文件,因为如果您的旧 assemblies 仍然是其中的一部分,您可能仍然会收到duplicate routes。然后rebuildproject就可以解决这个问题了,

      【讨论】:

      • 路由错误已修复。我发现了一个重复的条目,因此将其删除。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      相关资源
      最近更新 更多