1

我在使用 ElmahR 和设置persistorType 时遇到问题。如果没有将persistoryType elmah 日志完美地设置为elmahR,错误就会显示在仪表板上。当我想添加persistorType时出现问题。当我按如下方式添加持久性类型时:

<elmahr persistorType="ElmahR.Persistence.EntityFramework.EF4.EntityFrameworkPersistor, ElmahR">

它给了我以下错误:

加载资源失败:服务器响应状态为 500(内部服务器错误)。

Server Error in '/' Application.

Value cannot be null.
Parameter name: s

[ArgumentNullException: Value cannot be null.
Parameter name: s]
   System.IO.StringReader..ctor(String s) +12159044
   Microsoft.AspNet.SignalR.Json.JsonSerializerExtensions.Parse(IJsonSerializer serializer, String json) +139
   Microsoft.AspNet.SignalR.Hubs.HubRequestParser.Parse(String data) +101
   Microsoft.AspNet.SignalR.Hubs.HubDispatcher.OnReceived(IRequest request, String connectionId, String data) +127
   Microsoft.AspNet.SignalR.<>c__DisplayClassc.<ProcessRequest>b__7() +96
   Microsoft.AspNet.SignalR.TaskAsyncHelper.FromMethod(Func`1 func) +61

[AggregateException: One or more errors occurred.]
   System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +26
   Microsoft.Owin.Host.SystemWeb.Infrastructure.ErrorState.Rethrow() +33
   Microsoft.Owin.Host.SystemWeb.CallContextAsyncResult.End(IAsyncResult result) +155
   Microsoft.Owin.Host.SystemWeb.OwinHttpHandler.EndProcessRequest(IAsyncResult result) +34
   System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +129

我正在使用以下内容:

  • MVC 项目
  • SQL 服务器
  • 实体框架 4.3.1
  • ElmahR.Persistence.EntityFramework.EF4

使用 nuget 安装 ElmahR.Persistence.EntityFramework.EF4

我的 ErrorLogContext 连接字符串:

 <add name="ErrorLogContext" connectionString="Server=.\SQLEXPRESS;Database=ElmahR;Integrated Security=true" providerName="System.Data.SqlClient"/>

- - - - - 更新

第 1 步:创建 mvc 4 项目。

第二步:使用nuget安装dashboard

第 3 步:设置 webconfig 并链接其他项目

第四步:重定向主页到dashboard.cshtml

到目前为止,仪表板很好地获取项目错误并显示它们

第 5 步:使用 nuget 安装 ElmahR.Persistence.EntityFramework.EF4

第 6 步:创建一个空数据库。并如上图设置连接字符串

它仍然在仪表板上记录错误,但不会在数据库中创建表,并且仍然使用内存中的表。所以刷新时我会丢失数据。

第 7 步:在 web config 中添加persistorType 标签,如上图所示

现在我收到了我发布的错误。

关于这里做错了什么的任何建议?

4

0 回答 0