What to Check if Something Stops Working¶
Work through these checks in order before escalating.
Step 1 — Establish Scope¶
- Which subdomain instance is affected? (
bmh,ced,cedproperties,scstransact, orfutreconstruction) - Is the problem isolated to one instance or present across multiple instances? A shared codebase defect or failed deployment would affect all instances; a database or configuration fault is instance-specific.
- Is the problem affecting all users or just a specific user?
- Is the problem affecting all screens or a specific module/page?
- Is the login page accessible? Navigate to
~/login. - Are there any HTTP error codes visible (500, 503, 404)?
Step 2 — Check for Recent Changes¶
- Has there been a recent deployment (application files updated)?
- Has there been any database maintenance, migration, or schema change?
- Have any configuration files (
web.config,touch-settings.json) been modified? - Has the SQL Server or IIS server been restarted or patched?
- Note: a code deployment updates all subdomain instances simultaneously. If the issue appeared shortly after a deployment, verify whether other instances are also affected before treating the problem as instance-specific.
Step 3 — Check the Application Error Log¶
Query the Errors table in the database:
SELECT TOP 20 ErrorID, UserName,
JSON_VALUE(Details, '$.exception.message') AS Message,
JSON_VALUE(Details, '$.exception.type') AS ExType,
JSON_VALUE(Details, '$.exception.source') AS Source
FROM Errors
ORDER BY ErrorID DESC
If a user reported a [Ref: <guid>], query by ErrorID directly:
SELECT * FROM Errors WHERE ErrorID = '<paste-guid-here>'
Step 4 — Check Windows Event Log and IIS Logs (if hosted on a VM / dedicated server)¶
Shared hosting note: Direct server access is not available in a shared hosting environment. If server-level log access is required, raise a support ticket with the hosting provider, supplying the approximate date/time and a description of the issue.
- On the web server, open Event Viewer → Windows Logs → Application.
- Look for ASP.NET or IIS errors around the time of the issue.
- Check IIS logs under
C:\inetpub\logs\LogFiles\for HTTP status codes.
Step 5 — Check IIS Application Pool¶
Shared hosting note: In a shared hosting environment, IIS Manager is managed by the hosting provider. If the Application Pool appears to be stopped or misconfigured, raise a support ticket with the hosting provider rather than attempting direct IIS access.
- Open IIS Manager on the web server.
- Navigate to Application Pools.
- Confirm the CONPROSOFT Application Pool is in the Started state.
- If stopped, start it and monitor for recurring stops.
- Check Advanced Settings — confirm
.NET CLR Version = v4.0andManaged Pipeline Mode = Integrated.
Step 6 — Check Database Connectivity¶
- Each subdomain instance uses its own isolated database. Confirm the
MyCompanyconnection string in the affected instance'sweb.configreferences the correct database before testing connectivity. - Confirm SQL Server is running and reachable from the web server.
- Test the connection string from the web server using SSMS or
sqlcmd:
sqlcmd -S mart.zadns.co.za -d conprosoft_bmhcrp -U conprosoft_dbadmin -P [password] -Q "SELECT 1"
- If the connection fails, check firewall rules between the web and database servers.
Step 7 — Check Per-Instance Configuration¶
Each subdomain instance shares the same deployed codebase but has its own web.config. If the issue is confined to one instance, inspect that instance's configuration for the following:
- Connection string (
MyCompanykey) — confirm it points to the correct instance database. - SMTP credentials (
<system.net><mailSettings>) — each instance uses the email provider for its own subdomain (e.g.,bmh.conprosoft.co.za). If email is failing for one instance only, verify the SMTP host, username, and password in that instance'sweb.config. - BLOB storage paths — attachment adapter paths differ per instance; a stale or incorrect path causes upload and download failures.
touch-settings.json— verifyappNameand any branding values are correct for the affected instance.
Step 8 — Check Web Server Resources¶
- CPU, memory, and disk utilisation on the web server.
- If disk is full, IIS and ASP.NET may fail silently.
- Temporary ASP.NET compilation files under
%windir%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\may occasionally need clearing after a bad deployment.
Step 9 — Escalate if Unresolved¶
- Collect: error messages,
[Ref: guid]values, Event Log entries, HTTP status codes, and a description of what changed before the issue started. - Contact the Developer with this information for application-level diagnosis.
Temporary Workarounds¶
If possible, apply a safe, reversible workaround while investigation continues. Examples:
- Restart only the affected IIS Application Pool (avoid full server restart unless required).
- Temporarily route users to an unaffected workflow or module.
- Re-run a failed non-destructive operation after confirming connectivity and permissions.
- Disable a newly introduced optional feature/configuration change until root cause is confirmed.
Incident Record¶
After stabilisation, record the outcome and remediation details. Minimum fields:
- Incident date/time.
- Affected subdomain instance(s).
- Affected users/modules.
- Error details (
[Ref: guid], HTTP status, Event Log entries). - Expected behaviour.
- Observed behaviour.
- Immediate workaround applied.
- Root cause (confirmed or suspected).
- Permanent fix implemented.
- Verification performed and by whom.