Avatar billede baatmus Nybegynder
30. oktober 2004 - 13:40 Der er 6 kommentarer og
1 løsning

Ændre "Web References" URL ved deployment

Jeg har en .NET WinnForm app som anvemder Web Services. I mit udviklingsmiljø ligger web services lokalt og i min web references står der derfor "http://localhost...". Når jeg skal deploye min app skal jeg således ind og ændre URL'en så den peger på driftserveren og vise versa bagefter.

Kan dette gøres automatisk når man f.eks. skifter konfiguration i VStudio mellem "debug" og release "release" i build configuration. Eller er der en anden metode?
Avatar billede jepsen999 Nybegynder
31. oktober 2004 - 01:08 #1
Du kan ændre url'en på din webservice gennem Url propertyen.F.eks. :
        private void Page_Load(object sender, System.EventArgs e)
        {
            localhost.Service1 service1 = new ServerTransfer.localhost.Service1();
#if DEBUG
            service1.Url ="http://localhost/webservice3/service1.asmx";
#else
            service1.Url = "http://enAndenUrl/webservice3/service1.asmx";
#endif
            this.Label1.Text = service1.HelloWorld();
        }
Alternativt kan du i webreferencen til din webservice sætte "Url behavior"-propertyen til dynamic. Herefter bliver der skrevet en variabel i din App.config der angiver en url til den webservice du vil benytte.
<appSettings>
    <add key="ServerTransfer.localhost.Service1" value="http://localhost/webservice3/service1.asmx"/>
</appSettings>
Så skal du bare ændre value i denne appSetting efter du ligger din app på driftsserveren.
Avatar billede wisen Nybegynder
05. november 2004 - 13:38 #2
.. har du fundet ud af det ?
Avatar billede baatmus Nybegynder
05. november 2004 - 13:47 #3
Jeg har endnu ikke besluttet, hvilken metode jeg vil benytte, for jeg har ikke haft tid til og mulighed for at afprøve det i praksis.
Hvis du har alternative løsninger vil jeg gerne høre om det?
Avatar billede wisen Nybegynder
05. november 2004 - 13:50 #4
Næ, den løsning jepsen999 beskriver med at lave "Url behaviour" til "Dynamic" er den jeg selv bruger - det gør at man kan rette URL'en i .config filen, hvilket er fedt hvis forskellige brugere skal køre mod forskellige Webservices
Avatar billede baatmus Nybegynder
10. november 2004 - 10:41 #5
Jepsen999! Jeg vil anvende et af dine forslag, men har endnu ikke besluttet hvilket. Under alle omstændigheder har du fortjent mine point, men så skal du lige sende et "svar" :-)
Avatar billede jepsen999 Nybegynder
10. november 2004 - 18:11 #6
ok, her kommer da et svar så ;)
Avatar billede a1a1 Novice
10. november 2004 - 19:49 #7
jeg ville forslå nedenstående
<appSettings>
    <add key="ServerTransfer.localhost.Service1" value="http://localhost/webservice3/service1.asmx"/>
</appSettings>

måske bare forenklet til:
<appSettings>
    <add key="server" value="http://localhost/" />
</appSettings>

der er jo ikke nogen grund til at uploade web.config hvergang?
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
Kurser inden for grundlæggende programmering

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