可以在方法 'plug_oImports.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 112 传递给 'plug_oImports.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 可以在方法 'EAfterSale_AfterSaleImportUpload.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 144 传递给 'EAfterSale_AfterSaleImportUpload.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 可以在方法 'EDelivery_DeliveredImportUpload.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 201 传递给 'EDelivery_DeliveredImportUpload.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 'Test.inet_addr(string)'。 为了降低安全风险,请将参数 'ip' 封送为 Unicode,方法是将 DllImport.CharSet 设置为 CharSet.Unicode,或者将该参数显式封送为 UnmanagedType.LPWStr。如果您需要将该字符串封送为 ANSI 或者与系统相关的编码,请显式指定 MarshalAs,并设置 BestFitMapping=false;为了提高安全性,还应设置 ThrowOnUnmappableChar=true。 由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 'Test.SendARP(int, int, ref long, ref int)'。 可以在方法 'EFinance_ImportBill.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 131 传递给 'EFinance_ImportBill.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 可以在方法 'EFinance_ImportSample.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 267 传递给 'EFinance_ImportSample.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 将 P/Invoke 移动到 NativeMethods 类 此类型包含具有 DllImport 特性的成员。具有 DllImport 特性的成员应包含在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中。 由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 {0}。 http://msdn.microsoft.com/library/ms182161.aspx [none] CriticalWarning 指定对 P/Invoke 字符串参数进行封送处理 在将字符串封送为 ANSI (在 Win9x 上为 Auto)时,某些字符可能会改变。如果启用了最佳匹配映射,则采用 Unicode 编码时显示样式不同的字符串将封送到相同的 ANSI 字符串,这可能会导致错误的安全决策。禁用最佳匹配映射会降低此风险,因为所有没有等效项的字符都将映射到“?”。另外,请注意,CharSet.Ansi 是所有字符串的默认封送设置;Unicode 封送必须显式指定为 DllImport 或 StructLayout 的 CharSet 设置,或者指定为具有 Unicode (或与系统相关的) UnmanagedType 的 MarshalAs 特性。 为了降低安全风险,请将参数 {0} 封送为 Unicode,方法是将 DllImport.CharSet 设置为 CharSet.Unicode,或者将该参数显式封送为 UnmanagedType.LPWStr。如果您需要将该字符串封送为 ANSI 或者与系统相关的编码,请显式指定 MarshalAs,并设置 BestFitMapping=false;为了提高安全性,还应设置 ThrowOnUnmappableChar=true。 http://msdn.microsoft.com/library/ms182319.aspx [none] Error 不要多次释放对象 可以多次调用正确实现的 Dispose 方法,而不会引发异常。但是,并不保证所有情况下都会如此。若要避免生成 System.ObjectDisposedException,您不应对一个对象多次调用 Dispose。 可以在方法 {1} 中多次释放对象 {0}。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 144 RuleOwner http://msdn.microsoft.com/library/ms182334.aspx Warning 检查 SQL 查询是否存在安全漏洞 通过用户输入生成的 SQL 命令字符串容易受到 SQL 注入式攻击。Microsoft SQL Server 和其他数据库服务器支持存储过程和参数化 SQL 查询,这将降低受到注入式攻击的风险。 传递给 {1} 中的 {0} 的查询字符串可能包含以下变量 {2}。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。 RuleOwner http://msdn.microsoft.com/library/ms182310.aspx Warning 类别 确定性 全部折叠 检查 ID 错误 错误 全部展开 帮助 消息 [位置未存储在 Pdb 中] 项目 解析 规则 规则文件 规则说明 状态 目标 警告 警告 Code Analysis 报告