C#代码分析CA2000

2024-04-13

我有一个函数,我以为我已经修复了代码分析中的 CA2000 警告,但它不会消失。该警告位于 SqlCommand 上。这是函数:

protected internal void LogUserSession(int? managerID)
{
    using (var sqlCommand = new SqlCommand())
    {
        sqlCommand.SetCommand("usp_UserActivity_Create");

        SqlParameter prmSessionID = new SqlParameter();
        prmSessionID.ParameterName = "@sessionID";
        prmSessionID.Direction = ParameterDirection.Input;
        prmSessionID.SqlDbType = SqlDbType.VarChar;
        prmSessionID.Size = 32;
        prmSessionID.SetValue(SessionID);

        SqlParameter prmUsername = new SqlParameter();
        prmUsername.ParameterName = "@username";
        prmUsername.Direction = ParameterDirection.Input;
        prmUsername.SqlDbType = SqlDbType.VarChar;
        prmUsername.Size = 32;
        prmUsername.SetValue(Username);

        SqlParameter prmLoginID = new SqlParameter();
        prmLoginID.ParameterName = "@loginID";
        prmLoginID.Direction = ParameterDirection.Output;
        prmLoginID.SqlDbType = SqlDbType.Int;

        sqlCommand.Parameters.Add(prmSessionID);
        sqlCommand.Parameters.Add(prmUsername);
        sqlCommand.Parameters.Add(prmLoginID);

        using (sqlCommand.Connection = new SqlConnection(ConnectionStrings.MainApp))
        {
            sqlCommand.Connection.Open();
            sqlCommand.ExecuteNonQueryTryCatch();

            if (prmLoginID.Value != DBNull.Value) LoginID = Convert.ToInt32(prmLoginID.Value);
        }
    }
}

我有另一个函数,对我来说看起来没有什么不同,但没有与之关联的 CA2000 警告。这是该函数:

public static bool IsAvailable(string username)
        {
            using (var sqlCommand = new SqlCommand())
            {
                sqlCommand.SetCommand("usp_UsernameIsAvailable");

                var prmUsername = new SqlParameter();
                prmUsername.ParameterName = "@username";
                prmUsername.Direction = ParameterDirection.Input;
                prmUsername.SqlDbType = SqlDbType.VarChar;
                prmUsername.Size = 32;
                prmUsername.SetValue(username);

                var prmReturnValue = new SqlParameter();
                prmReturnValue.ParameterName = "@returnValue";
                prmReturnValue.Direction = ParameterDirection.ReturnValue;
                prmReturnValue.SqlDbType = SqlDbType.Bit;

                sqlCommand.Parameters.Add(prmUsername);
                sqlCommand.Parameters.Add(prmReturnValue);

                using (sqlCommand.Connection = new SqlConnection(ConnectionStrings.ComplianceApps))
                {
                    sqlCommand.Connection.Open();
                    sqlCommand.ExecuteNonQueryTryCatch();

                    return Convert.ToBoolean(prmReturnValue.Value);
                }
            }
        }

我不明白这里发生了什么以及我需要做什么来解决它。


CA2000 警告因导致误报而臭名昭著。它所做的事情之一是,当它发现超过 16 个可能引发异常的位置时,它会停止查找并标记 CA 警告。

可以在这里找到一个非常相似的问题以及 Microsoft 的回复:http://social.msdn.microsoft.com/Forums/en-US/vstscode/thread/90f993a3-6bdf-4b62-9982-9247a655406d/ http://social.msdn.microsoft.com/Forums/en-US/vstscode/thread/90f993a3-6bdf-4b62-9982-9247a655406d/

连接错误跟踪此问题:https://connect.microsoft.com/VisualStudio/feedback/details/725836/warning-ca2000-is-fired-on-a-sqlcommand-with-many-sqlparameters#details https://connect.microsoft.com/VisualStudio/feedback/details/725836/warning-ca2000-is-fired-on-a-sqlcommand-with-many-sqlparameters#details

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#代码分析CA2000 的相关文章

  • Volatile.Read 和 Volatile.Write 背后的逻辑是什么?

    来自 MSDN Volatile Read 读取字段的值 在需要它的系统上 插入一个 阻止处理器重新排序内存的内存屏障 操作如下 如果在该方法之后出现读或写 代码 处理器无法移动它before这个方法 and Volatile Write
  • 我应该把 try/catch 和“using”语句放在哪里? [复制]

    这个问题在这里已经有答案了 可能的重复 try catch using 正确的语法 https stackoverflow com questions 4590490 try catch using right syntax 我想try c
  • 如何使用 ASP.NET MVC 编辑多选列表?

    我想编辑一个如下所示的对象 我希望用 UsersGrossList 中的一个或多个用户填充 UsersSelectedList 使用 mvc 中的标准编辑视图 我只得到映射的字符串和布尔值 下面未显示 我在 google 上找到的许多示例都
  • 元组在 VS2012 中如何工作?

    Visual Studio 2012 功能 tuples但不是可变参数模板 这是如何完成的 如何在不使用可变模板的情况下实现元组 简而言之 微软做了与之前在 NET 中实现类似元组的数据类型完全相同的事情 创建许多版本 每个版本都有固定数量
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 并行化斐波那契序列生成器

    我正在学习并行化 在一项练习中 我得到了一些我应该提高性能的算法 其中之一是斐波那契数列生成器 array 0 0 array 1 1 for q 2 q lt MAX q array q array q 1 array q 2 我怀疑 这
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • C# 编译器数字文字

    有谁知道 C 编译器数字文字修饰符的完整列表 默认情况下 声明 0 使其成为 Int32 声明 0 0 使其成为 Double 我可以在末尾使用文字修饰符 f 来确保某些内容被视为 Single 例如像这样 var x 0 x is Int
  • 如何使用 Roslyn 通过扩展方法、静态类中的方法以及带有 ref/out 参数的方法来访问调用

    我正在致力于创建一个开源项目 用于创建 NET UML 序列图 该项目利用名为 js sequence diagrams 的 javascript 库 我不确定 Roslyn 是适合这项工作的工具 但我想我应该尝试一下 所以我整理了一些概念
  • 你好,我最近正在开发我的新游戏,我遇到了*无限跳跃*的问题

    所以基本上当我按跳跃 空格键时我会跳跃但是如果我连续按空格键它 只是跳啊跳啊跳等等 我不想要我只想它跳一次 code if Input GetKeyDown space isGrounded velocity y Mathf Sqrt ju
  • 如何在 C# 中获取 Json 数组?

    我有一个像这样的 Json 字符串 我想将它加载到 C 数组中 当我尝试这样做时 我收到异常 我的字符串 customerInformation customerId 123 CustomerName Age 39 Gender Male
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • EnumDisplayDevices 与 WMI Win32_DesktopMonitor,如何检测活动监视器?

    对于我当前的 C 项目 我需要为在大量计算机上连接并处于活动状态的每个监视器检测一个唯一的字符串 研究指出了两种选择 使用 WMI 并查询 Win32 DesktopMonitor 以获取所有活动监视器 使用 PNPDeviceID 来唯一
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • C 语言中的 Alpha 混合 2 RGBA 颜色[重复]

    这个问题在这里已经有答案了 可能的重复 如何快速进行阿尔法混合 https stackoverflow com questions 1102692 how to do alpha blend fast 对 2 个 RGBA 整数 颜色进行
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 如何提高环复杂度?

    对于具有大量决策语句 包括 if while for 语句 的方法 循环复杂度会很高 那么我们该如何改进呢 我正在处理一个大项目 我应该减少 CC gt 10 的方法的 CC 并且有很多方法都存在这个问题 下面我将列出一些例如我遇到的问题的
  • SQL Server“未找到网络路径”在不同环境中随机且不频繁地发生

    类似 如果不是同一个问题 随机遇到网络路径未找到异常 https stackoverflow com questions 38696448 network path not found exception encountered rando

随机推荐

  • 在上传之前使用环回组件存储中的远程挂钩重命名文件

    在上传到环回组件存储之前 我很难重命名文件 看起来 环回并没有提供相同的内置选项 对于从角度形式上传 我使用了角度上传器 beforeupload 方法来使用以下方法更改文件名 this fileExtension item file na
  • 退出 Excel 中的嵌套循环

    我在宏中有一个循环 我正在编写以下结构 本书中有两个工作表 原始数据 因此是端点数据变量 和总账 总账 表 因此是端点GL变量 有三种for该函数中的循环 1 第一个循环迭代原始数据文件中的每条记录 2 第二个循环迭代已验证的匹配项REGE
  • 检测二进制文件的 GCC 编译时标志

    有没有办法找出特定二进制文件编译时使用的 gcc 标志 快速浏览一下 GCC 文档并没有发现任何问题 Boost 人员是一些最聪明的 C 开发人员 他们resort http www boost org doc libs 1 36 0 mo
  • php中如何获取一个类的所有子类

    是否有可能在php中获取给定类的所有子类 function getSubclassesOf parent result array foreach get declared classes as class if is subclass o
  • 在 XMPP 中交换自定义 XML 元素的最佳方式?

    我有一个 XMPP 应用程序 其中两个客户端进行交互 1 一个机器人编程Smack http www igniterealtime org projects smack Scala Java 和 2 一个 GUI 聊天客户端strophe
  • 使用 Microsoft Access 创建独立应用程序

    有一次 我看到一个用 MS Access 制作的数据库 它可以像普通程序一样工作 即带有一个可执行文件 可以打开漂亮的 UI 并允许访问表单和报告 我也尝试做同样的事情 我什至用谷歌搜索但没有找到如何做 有人知道如何使用 Access 构建
  • Java 保持价格的最佳类型[重复]

    这个问题在这里已经有答案了 可能的重复 用 Java 表示货币值 https stackoverflow com questions 285680 representing monetary values in java 哪种java类型适
  • jQuery Mobile 只滚动内容,而不是整个页面

    我正在使用 jQuery Mobile 和 Phonegap 构建一个应用程序 现在 当我获得一个页面并需要滚动时 jQuery Mobile 会滚动整个页面 而不是内容 滚动条应该仅位于内容部分所在的位置 但看起来滚动条会滚动整个页面 它
  • 链接服务器是否有“IF EXISTS”测试?

    我希望能够以编程方式 在 T SQL 中 检查当前服务器和数据库是否已存在特定的链接服务器 这样 如果链接尚不存在 我可以创建它 我尝试过这样的事情 IF OBJECT ID myserver devdb 1 IS NULL BEGIN P
  • 是否可以使用 Google App Engine 作为 Android 应用程序的后端数据库?

    我想为 Android 编写一个客户端应用程序 使用 Google App Engine 作为数据库后端 我的 Android 客户端将连接到 App Engine 以保存信息 然后稍后连接以获取报告 是否可以像这样使用App Engine
  • C++:为什么对于内置(即类似 C)类型,按值传递通常比按引用传递更有效

    正如标题所示 编译器供应商通常会将引用实现为指针 指针的大小往往与许多内置类型相同或更大 对于这些内置类型 无论您是按值传递还是按引用传递 都将传递相同数量的数据 In然而 为了获取实际数据 您需要取消引用该内部指针 这可以在生成的代码中添
  • python 脚本在 docker 内运行时无法导入 kafka 库 [重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 可以从 twitter 中提取推文并将其发送到 kafka 主题 该脚本运行完美 但是当我尝试在 docker 容器内运行它时 它无法导入 kafka 库 它说 语法错误 语法无效
  • Konvajs/Vue-Konva 使用连接器动态连接形状

    我在用Konvajs Vue Konva在我的内Vuejs Nuxt应用 使用Konva我正在创建Rect在运行时动态形状 现在我想用某种Connectors连接不同的Rect Shapes这样我就可以得到其逻辑source Rect哪个是
  • 将原型与 Jquery 一起使用

    有没有办法让prototype与Jquery共存 我的意思不是带有 Jquery NoConflict 标签的原型的 Jquery 而是相反 我必须重写原型实用程序方法才能与其他库共存吗 我无法控制 Jquery 脚本 当包含 jQuery
  • 游戏对象出现在场景视图中但不在游戏视图中

    似乎我在这里遗漏了一些东西 使用最新版本的统一 并且我在单击时实例化了一个游戏对象 它在场景视图中看起来很好 但在游戏视图中却不是 我已经用谷歌搜索并尝试了所有这些回复 我检查了屏幕右上角的图层 它们都显示了 而且 z 值也低于相机的值 但
  • 用户通过javascript将文件上传到谷歌驱动器?

    我有一个网络应用程序 我希望用户能够从他们的计算机添加文件并将其上传到我的谷歌驱动器 我有选择文件按钮工作 但我不确定该功能应该如何访问我的谷歌驱动器帐户并在单击按钮时发送文件 h4 Upload a file h4 div class f
  • 尝试使用curl从电报机器人发送用户视频

    使用命令 curl s X POST https api telegram org bot
  • 从日期时间对象中删除时区信息

    修剪这种形式的日期时间对象的最快方法是什么2016 12 14 15 57 16 140645变成这样 2016 12 14 15 57 16 doing str 2016 12 14 15 57 16 140645 strip 0 对于大
  • 如何直接从 ZipEntry(RubyZip、Paperclip、Rails 3)获取临时 File 对象(具有正确的内容类型,无需写入磁盘)?

    我目前正在尝试直接从 zip 文件将图像文件附加到模型 即不先将它们保存在磁盘上 似乎应该有一种更清晰的方法将 ZipEntry 转换为可以存储在内存中的临时文件或文件 以便传递给知道如何处理它的另一个方法或对象 这是我的代码 def ex
  • C#代码分析CA2000

    我有一个函数 我以为我已经修复了代码分析中的 CA2000 警告 但它不会消失 该警告位于 SqlCommand 上 这是函数 protected internal void LogUserSession int managerID usi