SignalR can be used to add any sort of “real-time” web functionality to your ASP.NET application. While chat is often used as an example, you can do a whole lot more.
Any time a user refreshes a web page to see new data, or the page implements long polling to retrieve new data, it is a candidate for using SignalR.
Examples include dashboards and monitoring applications, collaborative applications (such as simultaneous editing of documents), job progress updates, and real-time forms.
Since SharePoint is based on ASP.NET technology it uses web.config files to store settings used by the WebApplication. There are times when this file may need to be modified to add to setting necessary for a particular feature, such as, database connection strings or web services. Although you could edit the web.config file manually, in an Enterprise environment with multiple servers and multiple WebApplications this would quickly become an unsupportable and cumbersome technique.
To overcome this the SharePoint API includes the SPWebModification class to apply modification to elements or attributes in the web.config.
Sometimes we may want to access SharePoint Web Application configuration (web.config) file from SharePoint custom Timer Job. But in case of SharePoint Timer Job it runs under OWSTIMER.EXE and Web Application runs under W3WP.EXE process, the configuration associated with the W3WP.EXE cannot be access directly or straight forward OWSTIMER.EXE.
Sometimes SharePoint can be a little bit of a pain as it gives you a nice generic error message like “Unexpected Error occurred“, but it won’t give you any clue what’s actually going on. Of course you already checked the SharePoint Trace Logs with or without the help of our friendly neighborhood ULS viewer. But there’s another clue you can reveal, The Stack Trace.