Avatar billede fiil123 Nybegynder
17. oktober 2008 - 12:21 Der er 5 kommentarer og
1 løsning

WCF Web Service i DAL assembly problemer med app.config

Hej Eksperten

Jeg sidder meget fast i et problem med en WCF Web service.
Problemet er at jeg gerne vil have mine WCF Web service i en assembly for sig selv, når jeg gør dette og kalder den funktion der giver adgang til dem får jeg følgende fejlbesked:

Could not find default endpoint element that references contract 'ServiceReference1.IMedicinService' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.

Jeg er kommet så langt at problemmet ligger i at der kun kan eksistere en app.config og når jeg har mine WCF Web service i en assembly eksistere den app.config som indeholder endpoints mm. ikke længere!

Er der nogen der har en god løsning på dette?

K. Fiil
Avatar billede bennytordrup Nybegynder
17. oktober 2008 - 12:29 #1
De oplysninger, du normalt vil læse fra en config fil kan du også danne kodemæssigt.

Prøv at lege med følgende kodestump:

                System.ServiceModel.WSHttpBinding b = new System.ServiceModel.WSHttpBinding();
                b.Name = "vbsSecuredBinding";
                b.CloseTimeout = TimeSpan.Parse("23:59:59");
                b.OpenTimeout = TimeSpan.Parse("23:59:59");
                b.ReceiveTimeout = TimeSpan.Parse("23:59:59");
                b.SendTimeout = TimeSpan.Parse("23:59:59");
                b.MaxBufferPoolSize = 524288;
                b.MaxReceivedMessageSize = 1073741824;
                b.ReaderQuotas.MaxDepth = 1000000000;
                b.ReaderQuotas.MaxArrayLength = 1000000000;
                b.ReaderQuotas.MaxStringContentLength = 1000000000;
                b.ReaderQuotas.MaxBytesPerRead = 1000000000;
                b.ReaderQuotas.MaxNameTableCharCount = 1000000000;
                b.Security.Message.ClientCredentialType = System.ServiceModel.MessageCredentialType.UserName;   
               
                         
                System.ServiceModel.EndpointAddress EA =
                    new System.ServiceModel.EndpointAddress(new Uri("http://localhost/MedecinService"), // userconfig
                        System.ServiceModel.DnsEndpointIdentity.CreateDnsIdentity("NameOfCert"),
                        new System.ServiceModel.Channels.AddressHeaderCollection());
Avatar billede bvli Praktikant
17. oktober 2008 - 12:45 #2
Hej.

Dine antagelser er faktisk helt ok. Nemlig, at der kun læses fra en eneste applikations-konfigurationsfil, nemlig den der ligger i det bibliotek programmet kører fra og hedder <program-navn>.exe.config. Det er faktisk ganske smart - så kan du jo bruge dit dll i utallige forskellige programmer, men med forskellige konfigurationer.

Anyway - din løsning er at tage de entries der er i din app.config i dit DAL og kopiere dem over i din app.config i dit eksekverbare projekt.

/B :)
Avatar billede fiil123 Nybegynder
17. oktober 2008 - 13:04 #3
bennytordrup
Jeg skal lige have frokost, så leger jeg med din kode!

bvli
Ja det havde helt sikkert været en løsning hvis ikke den assembly som de ligger i skal loades dynamisk med reflection!
Avatar billede fiil123 Nybegynder
17. oktober 2008 - 14:14 #4
Hej bennytordrup
Jeg lavede lidt ændringer i din opsætningen af WSHttpBinding objektet så det matchede min servers opsætninger, men det ændre dog ikke på at løsningen bliver at gøre det i kode!

Må så indrømme at jeg se det her som en helt klar fejl i .NET! Ja det giver god mening der kun kan være en app.config men at man ikke man merge dem eller andet smart giver ikke meget mening....

Tak for den hurtige hjælp
Avatar billede bennytordrup Nybegynder
17. oktober 2008 - 14:17 #5
Den hurtige hjælp kunne jeg give fordi jeg sad i mandags med en tidligere kollega, som havde nøjagtig samme problemstilling :-)

Klart nok, at den skulle tilrettes dine serverindstillinger
Avatar billede fiil123 Nybegynder
17. oktober 2008 - 14:30 #6
Ja det er bare den slags problemer man kan løbe helt i skoven med!
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