Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 18:40 Der er 15 kommentarer og
1 løsning

Anvendelse af satellite assemblies

Hej

Jeg er ved at opbygge mit site og vil gerne have at tekster på kontroller osv. kan sprogstyres, samt at jeg ikke skal hardcode teksterne i aspx siderne eller codebehind. Er det ikke der satellite assemblies kommer ind i billedet?
Avatar billede snepnet Nybegynder
16. januar 2005 - 18:58 #1
jeps - bruger du visual studio ?
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 19:02 #2
Tror jeg lukker dette igen. Søgte er på sitet efter "satellite" og fandt hvad der skal bruges, og ja kan se du har været omkring det før så tak kan jeg vist godt sige ;o)

Smider lige dette link til andre http://eksperten.dk/spm/466244
Avatar billede snepnet Nybegynder
16. januar 2005 - 19:04 #3
hehe... bare iorden :o)
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 19:06 #4
Jo lige en enkelt. kan det svare sig at lave en RessourceManager og smide den i Cache så alle snupper den derfra eller skal det wrappes i en klasse med statiske kald, eller som det sidste loades en ressourcemanager i alle webforms/user controller??
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 19:10 #5
Hov retter lige i mit spg. Det skal selvfølgelig ikke være den samme alle får ;o) dansk i england ;o).
Men så i en session eller blot en statisk klasse
string Ressources.Get("ControlName",culture)
Avatar billede snepnet Nybegynder
16. januar 2005 - 19:32 #6
Hej igen :o)
jeg plejer selv at bruge noget i denne stil - du kan jo lige se om det er noget.
mvh

using System;
using System.Globalization;
using System.Resources;
using System.Reflection;

namespace Ri.Resource
{
    public class Resource
    {
        private static ApplicationResource res;
       
        static Resource()
        { 
            res = new ApplicationResource("Ri.Resource.ApplicationStrings",Assembly.GetAssembly(typeof(Resource)));
        }

        public static string GetString(string key)
        {
            if(key == null)
                return String.Empty;
            return res.GetString(key);
        }

        public static string GetString(string key, CultureInfo cultureInfo)
        {
            if(key == null)
                return String.Empty;
            return res.GetString(key, cultureInfo);
        }

        private class ApplicationResource : ResourceManager
        {
            public ApplicationResource(string baseName, System.Reflection.Assembly assembly) : base(baseName, assembly){}
        }       
    }
}
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 19:41 #7
Hvorfor lige den nedarvede del?
Avatar billede snepnet Nybegynder
16. januar 2005 - 19:48 #8
hehe - ja det ser jo egentlig lidt lamt ud her :o)
- det kan du bare droppe, hvis du ikke vil lægge særlig funktionalitet på klassen.
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 19:52 #9
men okay  den static constructor du har? hvornår afvikles den lige....
Avatar billede snepnet Nybegynder
16. januar 2005 - 20:28 #10
senest umiddelbart inden kald til metoder/properties/fields på klassen.
(mener ikke det er nærmere defineret i docs).
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 21:32 #11
lille detalje jeg ikke havde læst om static. Vil man ikke kunne placer sine satellite assemblies som selvstændige dll filer? så skal det hele jo ikke rebuildes hver gang der ændres i dem. Problemet er jo hvis der skal tilføjes mens der er brugere på
Avatar billede snepnet Nybegynder
16. januar 2005 - 21:35 #12
jo - du kan snildt lægge det i en seperat assembly. og det er også muligt at lægge flere sprog ind i din applikation efterfølgende.
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 21:44 #13
mmm er det så ikke er Class Library jeg skal til at anvende?? hvordan vil du ellers få resx filen ud i dll
Avatar billede snepnet Nybegynder
16. januar 2005 - 22:09 #14
jepper... sådan et kan du bare lave, og så start med at lave din fallback-resx fil. du kan så altid proppe nogle flere sprog op senere (det er bare et spørgsmål om navngivning).
husk at angive resx-filen som embedden resource.
mvh
Avatar billede naxosnaxos Nybegynder
16. januar 2005 - 22:10 #15
Jeps har fået det til at funke i dette sekund ;o) super mange gange tak.
Ved du så noget om performance Satellite vs. alm. xml fil man selv læser ind? Der vil så ingen dll være
Avatar billede snepnet Nybegynder
16. januar 2005 - 22:15 #16
din resx-fil (som jo så også er xml) bliver kompileret ind i din assembly som en binær resource, så performance skulle være meget fin, men jeg har nu aldrig taget tid på noget i den forbindelse (men jeg synes heller ikke jeg har fundet anledning til det).
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester