CodeAnalysisService 类

定义

针对模型运行代码分析并向调用方提供结果的服务。

请注意,此类不是线程安全的,因为不支持多个模拟调用 Analyze(TSqlModel) 。 但是,当单独的线程等待Analyze(TSqlModel)方法完成时,可以从线程调用Cancel()

public sealed class CodeAnalysisService
type CodeAnalysisService = class
Public NotInheritable Class CodeAnalysisService
继承
CodeAnalysisService

属性

名称 说明
CancellationToken

CancellationToken用于指示是否应取消执行。

CodeAnalysisSucceededFile

如果分析成功,则创建文件的可选路径。 这可用于检查分析是否应运行 - 例如,如果分析 dacpac,比较 dacpac 的修改时间与分析成功文件可以告诉你 dacpac 是否比上次分析更晚。

ResultsFile

结果文件的可选路径。 如果指定了此项,分析服务将在分析结束时将所有结果保存到 XML 文件中。 如果未指定文件路径,则不会自动完成此操作,但 SerializeResultsToXml(String) 可用于在分析完成后输出结果。

ValidationMode

确定在代码分析之前对模型执行的验证。 这可用于绕过在代码分析规则分析之前 TSqlModel 有效的要求。

方法

名称 说明
Analyze(TSqlModel)

执行模型的分析。 这将初始化所有必需的资源,运行分析和向调用方报告结果。

ResultsFile如果指定了和/或CodeAnalysisSucceededFile,则在分析开始时将删除这些项,并在分析结束时创建的新文件

ApplyRuleSettings(CodeAnalysisRuleSettings)

针对服务的配置应用指定的规则设置。

Cancel()

取消执行分析服务

GetRuleLoadErrors()

获取加载分析规则期间可能发生的任何错误。 这会导致服务加载规则。

GetRules()

获取服务加载的规则。 可以查询这些规则(已启用、禁用、规则问题严重性)的当前状态,如有关规则的 ID 和元数据的信息。

SetProblemSuppressor(Predicate<SqlRuleProblemSuppressionContext>)

设置抑制规则时要应用的问题抑制谓词。 这是一项可选功能,支持忽略规则引发的问题。 问题可能会根据问题引发的元素或发现问题的来源取消显示。

适用于