On my Blog I comment on a variety of topics including technology, programming, .NET philosophy and more. Please feel free to comment on any post.
The ccat command I created for Linux – written in Pascal – types files to screen like the cat command does, except it runs the files through a color filter. An example of the output for a small XML file and a small Pascal file is shown below. In order to try out ccat youContinue reading “Linux: ccat”
Developer Extensions are a set of tools that expand File Explorer on Windows 10 10.0.19041+ and a status area tool for helping with IIS and COM+. The File Explorer tools are a info tip extensions on dll and tlb files. Also there is a context menu extensions with some utilities for dll, exe and tlbContinue reading “Developer Extensions”
Code Access Security is a CLR security system that is independent of the host system. It bases its security upon code and where the code comes from. Not who is running the code. So, privileges are given to code not users. It begins with what is called host evidence. When the CLR loader loads anContinue reading “.NET Code Access Security”
Since creating and destroying threads is a costly set of operations, the CLR manages its own thread pool. There is one CLR thread pool per CLR. So if there is multiple versions of the CLR loaded in a process there are multiple CLR thread pools. Initially there are no threads in this thread pool. AsContinue reading “.NET Threading and Tasks”
As of C# 3.0 we have had a standard way of querying data through Language Integrated Query or LINQ for short. C# 3.0 introduces its query language as a first-class citizen. The querying are type checked by the C# compiler. C# 3.0 also introduced things like lamda expressions and extension methods et. al. Both ofContinue reading “.NET Language Integrated Query (LINQ)”
Running out of resources can be a big problem for distributed systems. Handling a large number of requests from a few clients may work but handling a few requests from a large number of clients is a big problem. We simply do not have the resources, like database connections, to handle the load. COM+ isContinue reading “.NET and Component Services (COM+)”
When it comes to garbage collection there are weak references and strong references. When a root points to an object in managed heap, a strong reference exists. A weak reference is actually its own type; WeakReference. A WeakReference allows the garbage collector to collect the object, but also to let it be accessed. It allContinue reading “.NET Weak and Strong References”
Value types have smaller memory footprint since they are not allocated on the managed heap, and as such does not have the additional fields – sync block index and type handle – and no reference to the field exists. Also not being a reference type, it does not get garbage collected. However, value types canContinue reading “.NET Boxing and Unboxing”
The CLR uses public keys for two reasons. 1) to uniquely identity the developer of the component and 2) to protect the component from tampering. Assemblies with public keys also has a digital signature. This signature provides a secure hash of the assembly manifest, which themselves contains hashes of all subordinate modules. Historically the CLRContinue reading “.NET Public Key and Assembly Signing”
There are two main ways to programmatically load assemblies. You can use the assembly loader or the assembly resolver. The assembly loader uses System.Reflection.Assembly class’ LoadFrom static method. The assembly resolver uses the System.Reflection.Assembly class’ Load static method. The assembly loader loads a specified file i.e. from a file path like so: var assembly =Continue reading “.NET Assembly Loading”
Something went wrong. Please refresh the page and/or try again.
Follow My Blog
Get new content delivered directly to your inbox.