Avatar billede neocron Nybegynder
21. september 2007 - 22:26 Der er 10 kommentarer og
1 løsning

Udrulning af WebService på anden maskine

Hejsa,
Jeg arbejder i øjeblikket på en webservice.
Når jeg publisher den lokalt på min workstation virker det top dollar, men mit issue er når jeg gerne vil have den til at køre på min server.

Jeg har ikke meget erfaring indenfor dette punkt, så jeg tog simpelthen den simpleste webserice - en standard nyt projekt med HelloWorld webmethod.

Min workstationen har IIS som deploy'er skidtet (C:\Inetpub\projekt_navn). Derfor prøvede jeg først at copy-paste folderen til min servers webservice rod (også IIS). Serveren kører i forvejen ASP.net så jeg troede at den ville springe i aktion, men den kan ikke hitte ud af det, og hvis jeg prøver at tilgå Service.asmx direkte, får jeg følgende fejl:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 50:            ASP.NET to identify an incoming user.
Line 51:        -->
Line 52:        <authentication mode="Windows" />
Line 53:        <!--
Line 54:            The <customErrors> section enables configuration

Jeg er ikke sikker på hvor jeg skal starte med at lede for at finde en løsning - derfor kunne jeg godt tænke mig at få lidt tips til hvad jeg kan gøre for at få smidt min webservice fra min workstation og over på min server - og få det til at spille - uden fejl ;)

Server:
Win 2003 server
IIS
ASP.NET (NET 2.0)
Avatar billede kalp Novice
21. september 2007 - 22:30 #1
Har du sat den op i din IIS ?
Avatar billede kalp Novice
21. september 2007 - 22:31 #2
tror desuden godt du kan fjerne linjen <authentication mode="Windows" />
fra din web.config.
Avatar billede neocron Nybegynder
21. september 2007 - 22:46 #3
Kalp -> Jeg har fjernet authentication mode fra web.config.
Efter dette får jeg en Parse error, og det undrer mig lidt eftersom det spiller på min workstation. Men det kan måske have noget med konfigurationen af IIS at gøre?

Server Error in '/' Application.
--------------------------------------------------------------------------------

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Could not create type 'Service'.

Source Error:

Line 1:  <%@ WebService Language="vb" CodeBehind="~/App_Code/Service.vb" Class="Service" %>

Source File: /test/Service.asmx    Line: 1

Jeg ved ikke om jeg vil sige at jeg har konfigureret IIS op - jeg har forsøgt men jeg er lidt usikker på hvor jeg skal starte og slutte på at sætte ASP.NET op i IIS. Er det noget, du har erfaring med, eller kender til nogle guides til?
Avatar billede neoman Novice
21. september 2007 - 22:46 #4
"This error can be caused by a virtual directory not being configured as an application in IIS." !!
Avatar billede kalp Novice
21. september 2007 - 22:53 #5
neocron >> Ja jeg ved godt hvordan man sætter det op i IIS'en..

hurtigt oprids hvis du er teknisk.

Højre klik på "Default web sites" i IIS'en.
Vælge "new -> add virtual directory"
og angiver du et navn til dit website ..f.eks "minwebservice" .. finder den på harddisken.

og så har du adgang til den via. localhost/minwebservice

hvis den stadig fejler der skal du vælge properties på dit nye site og sørge for .NET versionen er sat til det korrekt og at application pool er valgt på det korrekt.
Avatar billede neocron Nybegynder
21. september 2007 - 23:03 #6
Jeg har nu tilføjet et virtual directory under min eksisterende website.
Kan jeg lokke dig til at uddybe omkring tjek af .NET version og Application Pool? Her træder jeg lidt i dødevande. Samme fejl som før er stadig aktuel:

Parser Error Message: Could not create type 'Service'.

Source Error:

Line 1:  <%@ WebService Language="vb" CodeBehind="~/App_Code/Service.vb" Class="Service" %>(...)
Avatar billede kalp Novice
21. september 2007 - 23:09 #7
Hvis du kigger i IIS'en under "Default Websites" så vil du kunne se, at du har fået en subdir - det som du lige har oprettet.
Højreklik på det og vælge egenskaber eller properties.

I første faneblad er der noget der hedder application pool.. se hvis der er en som hedder noget med 2.0 hvis ikke så lad den være som den er.

Tryk så på det faneblad der hedder .NET version eller ASP.NET version
deri er der kun en dropdown boks du kan vælge noget i.. hvis den står ti 1.1 så ændre den til 2.0

prøv så at tjekke dit site igen.

virker det stadig ikke så skal du åbne din Visual studio og starte din solution.
Højreklik på projekt filen og vælge "Publish website"
Brug istedet de filer der bliver published frem for dem du har prøvet med indtil videre.
Avatar billede neocron Nybegynder
21. september 2007 - 23:21 #8
Hæhæ jeg havde glemt at klikke på "Create" så den brugte slet ikke nogen Application Pool :P Efter dette lille tryllenummer er webservice tilgængelig.

Er der nogen måde man kan "blokere" således at man ikke kan tilgå webservicen?
F.eks, hvis jeg går ind på min webservice localhost/test/ får jeg en liste over alle operations. Jeg vil naturligvis kunne bruge disse i mine programmer, men jeg ville gerne undlade at gud og hver mand kunne se dem ved bare at gå ind på dem.
Avatar billede neocron Nybegynder
21. september 2007 - 23:21 #9
I øvrigt må du gerne smide et velfortjent svar, Kalp :)
Avatar billede kalp Novice
21. september 2007 - 23:25 #10
neocron >> man kan vidst heller ikke tilgå den som standard... hvis man skal kunne eksternt skal der først tilføjes et par linjer til config filen:)
Avatar billede neocron Nybegynder
21. september 2007 - 23:35 #11
Okay :) Jamen jeg siger ihvertfald mange tak indtil nu, jeg har dog lidt issues med at en web reference siger 401 not authorized når man tilgår den (test program i VB.net), men nu må jeg prøve at rode lidt med det og se hvad der sker.
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