Gå til innhold

C#, WCF, ServiceFactory, kjøre på utvikler PC


Anbefalte innlegg

Folkens....

Har tenkt å bevege meg over til ovennevnte i stedet for å bruke visual studio verktøyene for å lese ut WDSL filene for å lage api.

 

Har derfor gjort følgende:

Laget en DLL som inneholder alle kontrakter og data members etc. etc.  I tillegg inneholder denne DLL'en en helper som lager en service proxy.

 

Når jeg så lager disse så har jeg også snekret en helper som baker riktig URL og det er her utfordringen ligger.   Når jeg skal lage URL til servicen i produksjon så er jo det ganske enkelt, fordi dette er jo http://service.domene.no/path/service.svc, med riktig navn bakt inn så klart.

 

Men jeg ønsker jo å kjøre lokalt på maskin under utvikling for å debugge o.s.v.  Hvordan skal da URL se ut ?

Når jeg tidligere har brukt verktøyet i Visual Studio så har jo VS automatisk laget http://localhost:xyz/path/service.svc, men hva skal jeg bruke i stedet for dette ?

Lenke til kommentar
Videoannonse
Annonse

Litt usikker på hva du egnetlig spør om, ser ut som du allerede vet hvordan URL skal?

Dersom du ikke vil dynamisk endre mellom faktisk domene og localhost så har jeg løst lignende tidligere med å legge til alias i C:\Windows\System32\drivers\etc\hosts

 

Du kan gjøre det i prebuildscript eller fra koden (hvis koden er self aware på om den debugges eller ei, evnt bruke en [Conditional("DEBUG")]

Lenke til kommentar

Litt usikker på hva du egnetlig spør om, ser ut som du allerede vet hvordan URL skal?

Dersom du ikke vil dynamisk endre mellom faktisk domene og localhost så har jeg løst lignende tidligere med å legge til alias i C:\Windows\System32\drivers\etc\hosts

 

Du kan gjøre det i prebuildscript eller fra koden (hvis koden er self aware på om den debugges eller ei, evnt bruke en [Conditional("DEBUG")]

 

Heisan, og takk for inspill..  Litt usikker på om vi kanskje snakker forbi hverandre her.  Så vidt jeg kan se så har ikek dette noe med hosts fila å gjøre. Skal prøve å utbrodere litt mere.  

​Når jeg i VS lager en web service så kan jeg kjøre opp denne ved å trykke på [> Internet Explorer] knappen.  Da kommer nettleseren opp med visning av alle mapper.  Men adressen til dette området er anngitt som http://localhost:xyz, der xyz er porten til servicen.  For eksempel når jeg gjør det nå så velges porten 56376.  Dette er jo en port ikke jeg har bestemt og jeg antar jo at hvis dette utføres på en annen arbeidsstasjon fra en annen utvikler så er porten annerledes.  Det er dette jeg ønsker å få til, altså når jeg bygger dindingen så må jeg jo ha full URL.  På produksjon serveren er dette aldri et problem da det alltid er port 80 (http) som er i bruk

Lenke til kommentar

Dette er metoden jeg bruker for å lage begynnelsen av URL:
 

        private static string GetDomain(bool pIsDebug)
        {
            string domain = "http://services.mydomain.no";
            if (pIsDebug)
                domain = "http://localhost:55555";
            return domain;
        }

Det er nettop her jeg har ønske om å dynamisk styre porten som skal brukes

Lenke til kommentar

Hva om du konfigger Properties -> Web section -> Servers -> Use Visual Studio Development ServerSpecific Port

 

EDIT: Hva med System.Web.HttpContext.Current.Request.Url.Host?

 

Spot on :-)

Takker!

Litt annerledes bilde hos meg.  Kanskje en annen versjon av VS, men jeg fant den. 

Lenke til kommentar

 

Hva om du konfigger Properties -> Web section -> Servers -> Use Visual Studio Development ServerSpecific Port

 

EDIT: Hva med System.Web.HttpContext.Current.Request.Url.Host?

 

Spot on :-)

Takker!

Litt annerledes bilde hos meg.  Kanskje en annen versjon av VS, men jeg fant den. 

 

 

System.Web.HttpContext.Current.Request.Url.Host​ tror jeg er vanskelig å bruke fordi klient programmet ikke vet hvor servicen ligger.  Servicen selv vil jo kunne svare på dette, men det blir litt høna-egget av det der :-)   Men Properties.Web..... er akkurat hva jeg leter etter ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...