"Yuri Vanzine" <yu**@vanzine.org> wrote in message news:<Oe**************@TK2MSFTNGP09.phx.gbl>...
I have worked some time on a multilingual solution with ASP.NET. The best
approach to updatable language content is NOT to use satellite assemblies,
because you have to restart the server, every time you made a change to the
resx files.
Satellite assemblies do NOT allow for on-the-fly change of the string
resources.
Instead, use straight XML files with FileSystemWatcher objects for your
string resources and language-specific tables in the database for db data.
this is not true! Satellite assemblies only hold the resources. The
satellite assemblies are copied by the system to a temporary directory
and used from there. So they are not locked. You can replace them
whenever you want. You only have to change the .resx file, run resgen
and al and you have a new satellite assembly!
My solution will be, that we do not include a fallback/neutral
resource. We create the .resx files automatically (maybe from an
excel-file or another combined xml-file with xslt). So this can
replace the fallback of .NET. When a text is not defined in one
language, it is replaced by the same text of another language in the
..resx file automatically.
You should not use .resources files. They are locked if you do not
release them by ReleaseAllResources() from the ResourceManager. But
releasing them with every page is slowly. (as said in the microsoft
help).
By the way: I just tried to recompile a code-assembly which is used by
another one. I could use the new assembly without recompiling the
other - and of course without a restart of the server.