title: What's the least invasive way to read a locked file in C# (perhaps in unsafe mode)?
body: <p>I need to read a Windows file that may be locked, but I don't want to create any kind lock that will prevent other processes from writing to the file.</p>
  
  <p>In addition, even if the file is locked for exclusive use, I'd like to see what's inside.</p>
  
  <p>Although this isn't my exact use case, consider how to read a SQL/Exchange log or database file while it's in use and mounted.  I don't want to cause corruption but I still want to see the insides of the file and read it.</p>