I'm currently working on something like that. Sure its hard work, but with some unmanaged code you can turn a c# app into a localserver. You can host an usercontrol in a ATL ActiveX Control and expose the object model to COM in managed code (calls must be manually switched to the ui-thread but thats easy using lambda expressions). Most of the code stays in c#.
The reason was not performance. It was an compability issue. Currently there can only one version of the CLR be loaded into a process. The CLR version of the first.NET DLL is used in the process.
This is also the reason why you should not make shell extensions in.NET. The Windows Explorer would load the shell extension dll in unknown order. If the first one is a.NET 1.0 Dll all.NET 2.0 Dlls would not load. If a Programm delay loads the CLR a simple call to the Open File Dialog would cause the.NET 1.0 CLR to be loaded into the process.
This problem will finally be solved in.NET 4.0. I think we will see the use of.NET in Windows 8...
Sorry, I meant DPM. And shure it might be overkill for home use;-)
DFS Replication was originally designed for some kind of load balancing if I recall correctly. We had some issues, especialy when restarting servers, where replication did not start correctly. We had also issues with locked files and DFS Replication is no solution for backing up database and exchange servers...
We previusly had a solution using DFS-Replication, but DFS-Replication is not realy build for this kind of use. We switched to a Microsoft DMP Server 2007 which uses agents on each server and provides a nearly realtime replica with daily snapshots of Files, Exchange, Databases,... Users can restore files on their own and there is virtually no admin work for daily use. We make monthly manual off-site backups of the DMP-Store with Windows Backup on separate Harddisks.
For this solution you need a seperate server with about as twise as much harddisk space as your normal backup size. The daily snapshots lasts about two or three months.
I tried to crack Media Player Classic on my Windows 7 build 7990, and then Windows 7 got me laid off from my job, gave my dog a urinary tract infection, and made my wife leave me for a younger, more attractive man. Curse you Windows 7! Does your evil know no bounds?!
I think the point is that managed code IS capable of running such a huge site. Improvements to the infrastructure that may have happened do not matter.
I think a 2 way firewall is not the right thing for most users! When a popup comes up most users click on yes/no without reading the text. And later they are confused because they dont get emails anymore. Some time later you get a phone call!
On Windows you cannot overwrite a copy of a shared library that is current in use. That is for a good reason, because not everything of this library is loaded into memory (like resources), replacing the file could result in crashes or strange behavior. And the applications that uses this library would continue to use the old version unit EVERY application using the library is closed, because the library is in memory only ONCE! I think on Linux its the same principle. So when you don't know which applications are using this library (and that could be many, including the gui) you have no other chance than rebooting, or your system isn't really patched!
I'm currently working on something like that. Sure its hard work, but with some unmanaged code you can turn a c# app into a localserver. You can host an usercontrol in a ATL ActiveX Control and expose the object model to COM in managed code (calls must be manually switched to the ui-thread but thats easy using lambda expressions). Most of the code stays in c#.
Flash installs an OCX (ActiveX Control) and an XPT (Firefox Plugin) to C:\Windows\System32\Macromed\Flash
.NET is perfectly fine for anything other than writing plugins or plugin hosts for parts of the operating system.
The code is not embeded in the web page!
An ActiveX Control is a Plugin for your browser. The browser is also bound to an particular operating system and processor architecture!
The reason was not performance. It was an compability issue. .NET DLL is used in the process.
.NET. The Windows Explorer would load the shell extension dll in unknown order. If the first one is a .NET 1.0 Dll all .NET 2.0 Dlls would not load. .NET 1.0 CLR to be loaded into the process.
.NET 4.0. I think we will see the use of .NET in Windows 8...
Currently there can only one version of the CLR be loaded into a process. The CLR version of the first
This is also the reason why you should not make shell extensions in
If a Programm delay loads the CLR a simple call to the Open File Dialog would cause the
This problem will finally be solved in
Sorry, I meant DPM. And shure it might be overkill for home use ;-)
DFS Replication was originally designed for some kind of load balancing if I recall correctly.
We had some issues, especialy when restarting servers, where replication did not start correctly. We had also issues with locked files and DFS Replication is no solution for backing up database and exchange servers...
We previusly had a solution using DFS-Replication, but DFS-Replication is not realy build for this kind of use.
We switched to a Microsoft DMP Server 2007 which uses agents on each server and provides a nearly realtime replica with daily snapshots of Files, Exchange, Databases,... Users can restore files on their own and there is virtually no admin work for daily use.
We make monthly manual off-site backups of the DMP-Store with Windows Backup on separate Harddisks.
For this solution you need a seperate server with about as twise as much harddisk space as your normal backup size. The daily snapshots lasts about two or three months.
I tried to crack Media Player Classic on my Windows 7 build 7990, and then Windows 7 got me laid off from my job, gave my dog a urinary tract infection, and made my wife leave me for a younger, more attractive man. Curse you Windows 7! Does your evil know no bounds?!
http://blogs.msdn.com/oldnewthing/archive/2007/11/26/6523907.aspx
I think the point is that managed code IS capable of running such a huge site. Improvements to the infrastructure that may have happened do not matter.
ScottGu's Blog: Handling 1.5 Billion Page views per day using ASP.NET-2.0
Avalon does ship with Vista! And the Aero UI is using Avalon.
Avalon kicks ass!
Some time ago I had a TV which consumend over 60W in standby mode! And 70W in on mode
I think a 2 way firewall is not the right thing for most users!
When a popup comes up most users click on yes/no without reading the text. And later they are confused because they dont get emails anymore. Some time later you get a phone call!
Editor is 'part of the operating system'!
Thats because Windows Server 2003 is bases on XP...
This is a very good question!
On Windows you cannot overwrite a copy of a shared library that is current in use. That is for a good reason, because not everything of this library is loaded into memory (like resources), replacing the file could result in crashes or strange behavior. And the applications that uses this library would continue to use the old version unit EVERY application using the library is closed, because the library is in memory only ONCE!
I think on Linux its the same principle.
So when you don't know which applications are using this library (and that could be many, including the gui) you have no other chance than rebooting, or your system isn't really patched!
just run IE as admin with RUNAS and type "Control Panel" in the adressbar