Gendarme Report
Produced on 09/01/2011 08:19:54 UTC.
Gendarme found 78 potential defects using 230 rules.
List of assemblies analyzed
[show]
- D:\Build\Projects\AspSQLProvider\SCM\Build\NauckIT.PostgreSQLProvider.dll: 60 defects
List of rules used
[show]
Problem:The methods in this class lack cohesion (a higher score is better). This leads to code which is harder to understand and maintain.
Solution:You can apply the Extract Class or Extract Subclass refactoring.
2 defect(s) found:
Target: NauckIT.PostgreSQLProvider.PgMembershipProvider
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈58)
Details: Type cohesiveness : 17%
Go to AvoidLackOfCohesionOfMethodsRule description
Target: NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈61)
Details: Type cohesiveness : 38%
Go to AvoidLackOfCohesionOfMethodsRule description
Problem:This method use ref and/or out parameters in a visible API which can confuse many developers.
Solution:The most common reason to do this is to return multiple values from a method which can be rewritten so that it returns a custom type instead.
16 defect(s) found:
Target: System.Web.Security.MembershipUser NauckIT.PostgreSQLProvider.PgMembershipProvider::CreateUser(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Object,System.Web.Security.MembershipCreateStatus&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: status
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈313)
Details: Parameter 'status' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::FindUsersByEmail(System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈466)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::FindUsersByName(System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈553)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::GetAllUsers(System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈637)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::FindInactiveProfilesByUserName(System.Web.Profile.ProfileAuthenticationOption,System.String,System.DateTime,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈112)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::FindProfilesByUserName(System.Web.Profile.ProfileAuthenticationOption,System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈117)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetAllInactiveProfiles(System.Web.Profile.ProfileAuthenticationOption,System.DateTime,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈122)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetAllProfiles(System.Web.Profile.ProfileAuthenticationOption,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: totalRecords
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈127)
Details: Parameter 'totalRecords' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetItem(System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: locked
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈194)
Details: Parameter 'locked' passed by reference (out).
Severity: Medium
Confidence: Total
Location: lockAge
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈194)
Details: Parameter 'lockAge' passed by reference (out).
Severity: Medium
Confidence: Total
Location: lockId
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈194)
Details: Parameter 'lockId' passed by reference (out).
Severity: Medium
Confidence: Total
Location: actions
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈194)
Details: Parameter 'actions' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetItemExclusive(System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Total
Location: locked
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈202)
Details: Parameter 'locked' passed by reference (out).
Severity: Medium
Confidence: Total
Location: lockAge
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈202)
Details: Parameter 'lockAge' passed by reference (out).
Severity: Medium
Confidence: Total
Location: lockId
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈202)
Details: Parameter 'lockId' passed by reference (out).
Severity: Medium
Confidence: Total
Location: actions
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈202)
Details: Parameter 'actions' passed by reference (out).
Go to AvoidRefAndOutParametersRule description
Problem:This method calls several times into the same properties. This is expensive for virtual properties or when the property cannot be inlined.
Solution:Unless a different value is expected from each call, refactor your code to avoid the multiple calls by caching the returned value.
15 defect(s) found:
Target: System.Web.Security.MembershipUser NauckIT.PostgreSQLProvider.PgMembershipProvider::CreateUser(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Object,System.Web.Security.MembershipCreateStatus&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈313)
Details: Multiple (17) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::FindUsersByEmail(System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈466)
Details: Multiple (6) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::FindUsersByName(System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈553)
Details: Multiple (6) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Boolean NauckIT.PostgreSQLProvider.PgMembershipProvider::ValidateUser(System.String,System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1196)
Details: Multiple (6) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgMembershipProvider::UpdateFailureCount(System.String,NauckIT.PostgreSQLProvider.PgMembershipProvider/FailureType)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1468)
Details: Multiple (13) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Configuration.SettingsPropertyValueCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetPropertyValues(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈146)
Details: Multiple (4) calls to virtual property 'System.Configuration.SettingsSerializeAs System.Configuration.SettingsProperty::get_SerializeAs()'.
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈146)
Details: Multiple (5) calls to virtual property 'System.String System.Configuration.SettingsProperty::get_Name()'.
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgProfileProvider::SetPropertyValues(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyValueCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈227)
Details: Multiple (17) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈227)
Details: Multiple (3) calls to virtual property 'System.Configuration.SettingsSerializeAs System.Configuration.SettingsProperty::get_SerializeAs()'.
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgProfileProvider::CreateProfileForUser(System.String,System.Boolean)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈350)
Details: Multiple (6) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::SetAndReleaseItemExclusive(System.Web.HttpContext,System.String,System.Web.SessionState.SessionStateStoreData,System.Object,System.Boolean)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈402)
Details: Multiple (16) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈402)
Details: Multiple (3) calls to virtual property 'System.Int32 System.Web.SessionState.SessionStateStoreData::get_Timeout()'.
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Boolean NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::CreateUninitializedItemTryInsert(System.String,System.Int32,Npgsql.NpgsqlConnection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈517)
Details: Multiple (10) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Boolean NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::CreateUninitializedItemTryUpdate(System.String,System.Int32,Npgsql.NpgsqlConnection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈581)
Details: Multiple (10) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetSessionStoreItem(System.Boolean,System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈649)
Details: Multiple (8) calls to non-virtual property 'Npgsql.NpgsqlParameterCollection Npgsql.NpgsqlCommand::get_Parameters()', likely non-inlined due to size (23 >= 20).
Go to AvoidRepetitiveCallsToPropertiesRule description
Problem:This private or internal (assembly-level) member does not have callers in the assembly, is not invoked by the common language runtime, and is not invoked by a delegate.
Solution:Remove the unused code or add code to call it.
4 defect(s) found:
Target: System.Void NauckIT.PostgreSQLProvider.SerializationHelper::SerializeToXmlFile(System.String,T,System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\SerializationHelper.cs(≈62)
Details: The method is not visible outside its declaring assembly, nor used within.
Go to AvoidUncalledPrivateCodeRule description
Target: T NauckIT.PostgreSQLProvider.SerializationHelper::DeserializeFromXmlFile(System.String,System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\SerializationHelper.cs(≈84)
Details: The method is not visible outside its declaring assembly, nor used within.
Go to AvoidUncalledPrivateCodeRule description
Target: System.Void NauckIT.PostgreSQLProvider.SerializationHelper::SerializeToBinaryFile(System.String,System.Object)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\SerializationHelper.cs(≈107)
Details: The method is not visible outside its declaring assembly, nor used within.
Go to AvoidUncalledPrivateCodeRule description
Target: T NauckIT.PostgreSQLProvider.SerializationHelper::DeserializeFromBinaryFile(System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\SerializationHelper.cs(≈127)
Details: The method is not visible outside its declaring assembly, nor used within.
Go to AvoidUncalledPrivateCodeRule description
Problem:This method has a parameter whose type is more specialized than necessary. This can make it difficult to reuse the method in other contexts.
Solution:Replace the parameter type with the most general type which will work or make use of the specifics of the formal parameter type.
1 defect(s) found:
Target: System.Web.Security.MembershipUser NauckIT.PostgreSQLProvider.PgMembershipProvider::GetUserFromReader(Npgsql.NpgsqlDataReader)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1324)
Details: Parameter 'reader' could be of type 'System.Data.IDataRecord'.
Go to AvoidUnnecessarySpecializationRule description
Problem:A visible method does not check its parameter(s) for null values.
Solution:Since the caller is unknown you should always verify all of your parameters to protect yourself.
7 defect(s) found:
Target: System.Web.Security.MembershipUserCollection NauckIT.PostgreSQLProvider.PgMembershipProvider::FindUsersByName(System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Location: usernameToMatch
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈553)
Go to CheckParametersNullityInVisibleMethodsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgMembershipProvider::UpdateUser(System.Web.Security.MembershipUser)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Location: user
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1158)
Go to CheckParametersNullityInVisibleMethodsRule description
Target: System.Configuration.SettingsPropertyValueCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetPropertyValues(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Location: context
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈146)
Severity: High
Confidence: Normal
Location: collection
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈146)
Go to CheckParametersNullityInVisibleMethodsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgProfileProvider::SetPropertyValues(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyValueCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Location: context
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈227)
Severity: High
Confidence: Normal
Location: collection
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈227)
Go to CheckParametersNullityInVisibleMethodsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::SetAndReleaseItemExclusive(System.Web.HttpContext,System.String,System.Web.SessionState.SessionStateStoreData,System.Object,System.Boolean)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Location: item
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈402)
Go to CheckParametersNullityInVisibleMethodsRule description
Problem:This method looks like it is not implemented or is incomplete.
Solution:Implement the method and/or make sure it's limitations are well documented.
8 defect(s) found:
Target: System.Int32 NauckIT.PostgreSQLProvider.PgProfileProvider::DeleteInactiveProfiles(System.Web.Profile.ProfileAuthenticationOption,System.DateTime)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈97)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Int32 NauckIT.PostgreSQLProvider.PgProfileProvider::DeleteProfiles(System.String[])
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈102)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Int32 NauckIT.PostgreSQLProvider.PgProfileProvider::DeleteProfiles(System.Web.Profile.ProfileInfoCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈107)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::FindInactiveProfilesByUserName(System.Web.Profile.ProfileAuthenticationOption,System.String,System.DateTime,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈112)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::FindProfilesByUserName(System.Web.Profile.ProfileAuthenticationOption,System.String,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈117)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetAllInactiveProfiles(System.Web.Profile.ProfileAuthenticationOption,System.DateTime,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈122)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Web.Profile.ProfileInfoCollection NauckIT.PostgreSQLProvider.PgProfileProvider::GetAllProfiles(System.Web.Profile.ProfileAuthenticationOption,System.Int32,System.Int32,System.Int32&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈127)
Go to DoNotForgetNotImplementedMethodsRule description
Target: System.Int32 NauckIT.PostgreSQLProvider.PgProfileProvider::GetNumberOfInactiveProfiles(System.Web.Profile.ProfileAuthenticationOption,System.DateTime)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgProfileProvider.cs(≈132)
Go to DoNotForgetNotImplementedMethodsRule description
Problem:This method catches a very general exception without rethrowing it. This is not safe to do in general and may mask problems that the caller should be made aware of.
Solution:Rethrow the original exception (which will preserve the stacktrace of the original error) or catch a more specific exception type.
16 defect(s) found:
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::CreateUninitializedItem(System.Web.HttpContext,System.String,System.Int32)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈177)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::RemoveItem(System.Web.HttpContext,System.String,System.Object,System.Web.SessionState.SessionStateStoreData)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈312)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈300)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::ResetItemTimeout(System.Web.HttpContext,System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈375)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈363)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::SetAndReleaseItemExclusive(System.Web.HttpContext,System.String,System.Web.SessionState.SessionStateStoreData,System.Object,System.Boolean)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈476)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈464)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Boolean NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::CreateUninitializedItemTryInsert(System.String,System.Int32,Npgsql.NpgsqlConnection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈550)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Boolean NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::CreateUninitializedItemTryUpdate(System.String,System.Int32,Npgsql.NpgsqlConnection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈614)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetSessionStoreItem(System.Boolean,System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈738)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈726)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::InvokeExpireCallbackAndDeleteSession()
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈871)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈922)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈910)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Target: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::DeleteExpiredSessionsFromDatabase()
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈984)
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈972)
Go to DoNotSwallowErrorsCatchingNonSpecificExceptionsRule description
Problem:This disposable local is not guaranteed to be disposed of before the method returns.
Solution:Use a 'using' statement or surround the local's usage with a try/finally block.
2 defect(s) found:
Target: System.String NauckIT.PostgreSQLProvider.PgMembershipProvider::EncodePassword(System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1406)
Details: Local 'hash' of type 'HMACSHA1' is not disposed of (at least not locally).
Go to EnsureLocalDisposalRule description
Target: System.String NauckIT.PostgreSQLProvider.SerializationHelper::SerializeToXml(T,System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\SerializationHelper.cs(≈54)
Details: Local 'xmlWriter' of type 'XmlTextWriter' is not disposed of (at least not locally).
Go to EnsureLocalDisposalRule description
Problem:The method is either missing or partially implemented on Mono.
Solution:Review and test the code to ensure that it works properly on Mono. Also delete the definitions.zip to ensure that the latest version is downloaded.
1 defect(s) found:
Target: System.String NauckIT.PostgreSQLProvider.PgMembershipProvider::GetConnectionString(System.String)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: Normal
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈1308)
Details: System.Configuration.ConnectionStringSettingsCollection System.Configuration.ConfigurationManager::get_ConnectionStrings() is marked with a [MonoTODO] attribute: .
Go to MonoCompatibilityReviewRule description
Problem:A type has a method named Dispose, but does not implement IDisposable.
Solution:Rename the method or implement IDisposable.
1 defect(s) found:
Target: NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: High
Location: System.Void NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::Dispose()
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈108)
Go to OnlyUseDisposeForIDisposableTypesRule description
Problem:This method contains a reference parameter to System.Object which is often an indication that the code is not type safe.
Solution:Change the parameter to use a generic type where the caller will provide the type.
3 defect(s) found:
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetItem(System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Location: lockId
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈194)
Go to PreferGenericsOverRefObjectRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetItemExclusive(System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Location: lockId
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈202)
Go to PreferGenericsOverRefObjectRule description
Target: System.Web.SessionState.SessionStateStoreData NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::GetSessionStoreItem(System.Boolean,System.Web.HttpContext,System.String,System.Boolean&,System.TimeSpan&,System.Object&,System.Web.SessionState.SessionStateActions&)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Location: lockId
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈649)
Go to PreferGenericsOverRefObjectRule description
Problem:This type contains disposable field(s) but doesn't implement IDisposable.
Solution:Implement IDisposable and free the disposable field(s) in the Dispose method.
1 defect(s) found:
Target: NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: High
Confidence: High
Location: System.Timers.Timer NauckIT.PostgreSQLProvider.PgSessionStateStoreProvider::m_expiredSessionDeletionTimer
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgSessionStateStoreProvider.cs(≈61)
Details: Field implement IDisposable. Type should implement a Dispose() method
Go to TypesWithDisposableFieldsShouldBeDisposableRule description
Problem:The method uses literal "" instead of String.Empty.
Solution:Replace the empty string literal with String.Empty.
1 defect(s) found:
Target: System.Void NauckIT.PostgreSQLProvider.PgMembershipProvider::Initialize(System.String,System.Collections.Specialized.NameValueCollection)
Assembly: NauckIT.PostgreSQLProvider, Version=1.3.14.0, Culture=neutral, PublicKeyToken=e179b4c7dfb3984c
Severity: Medium
Confidence: High
Source: d:\Build\Projects\AspSQLProvider\SCM\src\NauckIT.PostgreSQLProvider\PgMembershipProvider.cs(≈79)
Go to UseStringEmptyRule description