Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么板块SqlDatabaseSink停止写到跟踪表?

为什么板块SqlDatabaseSink停止写到跟踪表?
EN

Stack Overflow用户
提问于 2015-06-04 04:47:47
回答 2查看 397关注 0票数 1

平板SqlDatabaseSink停止了对跟踪表的写入

我并行地添加了一个FlatFileSink,以确保监听器不是问题,它可以很好地写入文件。我还为SqlDatabaseSink提供了一个单元测试,它工作得很好,但是当通过Global.asax订阅主项目时,只有FlatFileSink工作。下面是截图。

添加了板坯内部事件侦听器 per @manikrish的建议(非常感谢您的建议),下面是来自该日志的基本SQLDatabaseSink错误“无法加载文件或程序集'Newtonsoft.Json,Version=4.5.0.0,Culture=neutral,PublicKeyToken=30ad4fe6b2a6aeed'”--下面的详细信息,平板内部日志。

接下来,我比较了主项目和单元测试项目(who's SQLDatabaseSink works)之间的引用属性,它们都使用6.0.8版本(我相信WebApi 5.2.3附带了),但注意到在后者中特定版本是假的。所以,我在主项目中做了同样的修改,但仍然没有成功。

此外,主项目的web.config和单元测试项目的app.config对它也具有相同的程序集绑定:

代码语言:javascript
运行
AI代码解释
复制
  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
  </dependentAssembly>

接下来,我尝试通过更改(Microsoft.Practices.EnterpriseLibrary.SemanticLogging)、packages.config、csproj中的引用属性来解决绑定重定向问题;基于其他堆栈溢出问题(下面的链接)重新安装/更新Newtonsoft.Json以及调用程序集的Newtonsoft.Json NuGet包,但仍然没有运气--板坯内部日志中相同的绑定错误,没有迹象表明我正在重定向。

平板内部原木:

代码语言:javascript
运行
AI代码解释
复制
Opcode : Info
Task : 65433
Version : 0
Payload : [message : System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'
   at System.Data.SqlClient.SqlParameter.CoerceValue(Object value, MetaType destinationType, Boolean& coercedToDataFeed, Boolean& typeChanged, Boolean allowStreaming)
   at System.Data.SqlClient.SqlParameter.GetCoercedValue()
   at System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
   at System.Data.SqlClient.SqlCommand.SetUpRPCParameters(_SqlRPC rpc, Int32 startCount, Boolean inSchema, SqlParameterCollection parameters)
   at System.Data.SqlClient.SqlCommand.BuildRPC(Boolean inSchema, SqlParameterCollection parameters, _SqlRPC& rpc)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.BeginExecuteNonQueryInternal(AsyncCallback callback, Object stateObject, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.BeginExecuteNonQueryAsync(AsyncCallback callback, Object stateObject)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl(Func`3 beginMethod, Func`2 endFunction, Action`1 endAction, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory`1.FromAsync(Func`3 beginMethod, Func`2 endMethod, Object state)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Sinks.SqlDatabaseSink.<>c__DisplayClass14.<<UseStoredProcedure>b__13>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Sinks.SqlDatabaseSink.<UseStoredProcedure>d__1d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Sinks.SqlDatabaseSink.<PublishEventsAsync>d__0.MoveNext()

=== Pre-bind state information ===
LOG: DisplayName = Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
 (Fully-specified)
LOG: Appbase = file:///C:/work/StarLims/AMO/server/TFS/AMO/eyeNet/AI.eyeNet/
LOG: Initial PrivatePath = C:\work\StarLims\AMO\server\TFS\AMO\eyeNet\AI.eyeNet\bin
Calling assembly : Microsoft.Practices.EnterpriseLibrary.SemanticLogging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\work\StarLims\AMO\server\TFS\AMO\eyeNet\AI.eyeNet\web.config
LOG: Using host configuration file: C:\Users\siliodx\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/vs/74a40fb9/3b0c98c/Newtonsoft.Json.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/vs/74a40fb9/3b0c98c/Newtonsoft.Json/Newtonsoft.Json.DLL.
LOG: Attempting download of new URL file:///C:/work/StarLims/AMO/server/TFS/AMO/eyeNet/AI.eyeNet/bin/Newtonsoft.Json.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
] 
EventName : DatabaseSinkPublishEventsFailedInfo
Timestamp : 2015-06-05T11:56:54.5518724Z
ProcessId : 6752
ThreadId : 12060

StackOverflow支持链接:

臭名昭著的装配绑定错误

无法加载文件或程序集“Newtonsoft.Json”或其依赖项之一。清单定义与程序集引用不匹配。

使用多个项目时Newtonsoft.Json.dll问题

尽管程序集重定向和加载正确版本,但程序集不匹配。

截图:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-19 03:37:10

根原因是web.config中一个程序集周围缺少的dependentAssembly标记。

代码语言:javascript
运行
AI代码解释
复制
<dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>

非常感谢 Mani 和其他帮助我的 板坯小组成员,特别是因为根本原因与他们的项目无关。

票数 0
EN

Stack Overflow用户

发布于 2015-06-04 11:33:24

语义日志应用程序块将内部事件记录到一个名为SemanticLoggingEventSource的预定义事件源。您可以创建一个额外的侦听器,它将事件从此事件源记录到不同的接收器。

例如,下面的代码片段显示了如何将内部事件记录到文件中:

代码语言:javascript
运行
AI代码解释
复制
var slabInternalNotificationsListener = new ObservableEventListener();
slabInternalNotificationsListener.LogToFlatFile(@".\errors.txt");
slabInternalNotificationsListener.EnableEvents(SemanticLoggingEventSource.Log, System.Diagnostics.Tracing.EventLevel.Verbose, Keywords.All);

请查看来自SemanticLoggingEventSource的日志,以了解SQL接收器没有记录事件的原因。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30644279

复制
相关文章
在MacOSX机器上设置JenkinsCI服务器
Jenkins Wiki提供了用于Jenkins安装的选项列表,但没有提及Mac OSX。尽管它提到了Docker,但我只听说过有关Docker的好消息。在本文中,我将坚持使用自制软件。在继续操作之前您需要在Mac上安装和配置JDK。
DevOps云学堂
2020/07/24
2.5K0
Archiva 仓库提示文件没有找到
如果提示的是 404 的话,提示你的 Archiva 在可能的源仓库中已经进行了搜索,但是没有找到。
HoneyMoose
2020/04/13
6750
Archiva 仓库提示文件没有找到
Ubuntu 上使用 ADB 备份 Android 数据
adb全称Android Debug Bridge,是Android SDK中的一个工具, 使用adb可以直接操作管理Android模拟器或者真实的Andriod设备,就是起到调试桥的作用。
会长君
2023/04/25
7380
在mac上使用adb与fastboot
要在OSX上管理Android手机上的文件,需要下载安装这个官方工具http://www.android.com/filetransfer/
老高的技术博客
2022/12/27
2.6K0
在mac上使用adb与fastboot
在 MAC OS X 安装 ADB (Android调试桥)
什么是 ADB? Android调试桥( adb )是一个开发工具,帮助安卓设备和个人计算机之间的通信。 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接。 adb 还可被用来与电脑上运行的
昨天50还没用完
2018/06/29
9.3K0
ADB 学习(4):adb shell (上)
安卓系统是基于Linux系统开发,也就支持常见的Linux的命令,这些命令都保存在手机 “/system/bin” 的目录下,我们连接手机就可以使用命令 adb shell 来执行这些命令。
Mokwing
2020/09/08
2.6K0
软件测试|Appium WebView 技术原理
混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。
霍格沃兹测试开发Muller老师
2023/01/09
8260
android 调试 adb
一、包名和界面名的概念 1.包名(package):决定程序的唯一(不是应用名) 2.界面名(activty):粗浅的一个界面,对应着一个界面
bosh123
2020/08/02
7400
自动化测试微信小程序
Mac 环境下搭建 appium 1 安装homebrew 首先命令行检查是否安装:
赵云龙龙
2019/09/25
2.8K0
自动化测试微信小程序
MacOSX 安装 TensorFlow
TensorFlow 安装的前提是系统安装了 Python 2.5 或更高版本,教程中的例子是以 Python 3.6(Anaconda 3 版)为基础设计的。为了安装 TensorFlow,首先确保你已经安装了 Anaconda。可以从网址(https://www.anaconda.com/distribution/#download-section)中下载并安装适用于 Windows/macOS 或 Linux 的 Anaconda。
叉叉敌
2020/02/14
9310
MacOSX 安装 TensorFlow
使用adb logcat命令显示Android设备上的Log日志
实现这个功能的前提是使用adb命令,所以必须要有手机和电脑,还有安装adb,adb程序是很小的几M就可以。
全栈程序员站长
2022/06/28
12.9K0
使用adb logcat命令显示Android设备上的Log日志
Android 调试桥 (adb)
adb 包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/ 下。
云深无际
2021/04/14
5.4K0
Android 调试桥 (adb)
Android 常见adb命令
C:\Users\laiyu>adb push d:\\WiFi.apk /mnt/sdcard/
授客
2019/09/11
7910
Start an Android App by ADB
To be more geek,I began to start an Android App by using adb.Thanks to Google.It’s possible and powerful. The tool we use to make it is ADB(Android Debug Tool),For more detailed use please visit http://developer.android.com/tools/help/adb.html#shellcommands Actually What I use here is
技术小黑屋
2018/09/04
1K0
安卓安全测试框架--drozer环境搭建
随着app的质量要求不断的越来越高,跟随着我们的技术的不断进步,对于安全测试的需求也是逐渐增多,那么针对app,我们如何做安全测试呢,工欲善其事必先利其器。我们这节课看下安卓安全测试工具--drozer的环境搭建。入门第一步就是环境搭建。
雷子
2021/03/15
1.5K0
安卓安全测试框架--drozer环境搭建
Android性能稳定性测试工具mobileperf
天猫团队开源的PC Android性能稳定性测试工具,可以收集Android性能数据: cpu 内存 流畅度fps logcat日志 流量 进程线程数 进程启动日志,mobileperf也支持原生monkey test。那么我们先来看看如何安装它。
雷子
2021/03/15
2.4K0
Android性能稳定性测试工具mobileperf
自动化-Appium-环境搭建-Android(Java版)
JDK(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境,Java工具和Java基础的类库。
wangmcn
2022/07/25
5.2K0
自动化-Appium-环境搭建-Android(Java版)
Android ADB命令大全
adb shell cat /sys/class/net/wlan0/address
软件测试君
2019/06/03
1.2K0
Android adb命令大全
一般在安装的时候先敲出adb install然后直接将apk文件拖到MS Dos窗口中即可,然后点击回车即可自动安装。
程序员飞飞
2020/02/27
1.4K0
点击加载更多

相似问题

在MacOSX上安装Android/Eclipse - adb不工作

30

在访问adb时没有找到Android findstr

15

‘`adb’文件没有显示在Android 11仿真程序上

14

Android演播室-无法在ubuntu上找到adb

23

未找到Android SDK文件: adb -但在哪个adb中可见

151
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档