Multi web service

mercoledì 22 febbraio 2012 - 12.34
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008  |  SQL Server 2008 R2  |  Access (.mdb)

Idea Grip Profilo | Newbie

Buongiorno a tutti nel forum, mi sto cimentando a creare una web app che si appoggia ad un web service in visual studio 2008.
Dopo varie ricerche non mi sono ben chiari alcuni concetti. In pratica il web service si deve connettere alla macchina locale per interrogare un database in access di una mia applicazione desktop. Questa applicazione desktop ce l'hanno diversi miei clienti e vorrei che ogniuno abbia la possibilità di controllare i propri dati tramite la web app.

Domande:
il web service nel mio caso va installato sulle macchine locali dei miei clienti o sul server del mio sito?
se si devo installare anche iis sulle loro macchine?
e gli indirizzi del web service possono quindi rimanere localhost per ognuno(anche se non credo)?
Come posso indirizzare la web app ad un database specifico per ogni cliente (giusto per evitare che uno veda dati di un'altro)?

Mi scuso per le domande ma vorrei capire bene questo concetto.
Grazie infinite a chi vorrà rispondermi.

Aggiornamento: ho caricato la web app sul sito ma quando richiamo il web service che è in localhost mi da il seguente errore :The request failed with HTTP status 404: Not Found.

u235 Profilo | Junior Member

Ciao, proviamo ad andare per gradi :
il webservice ovviamente deve girare in un server per funzionare, il suo scopo e quello di fornire un servizio. In questo caso il servizio sarebbe ottenere l'accesso ai dati presenti in un db (access) che viene utilizzato da un programma in locale, quindi, per poter consumare dall'esterno i dati, il webService dovrebbe essere installato nella stessa macchina dov'è presente il db (anche se esistono altre soluzioni che ti sconsiglio caldamente e di cui non vale la pena parlare), ne consegue che il ognuno dei tuoi clienti dovrà avere installato il webservice per accedere ai loro dati, ergo, dovrebbero avere il web server che ospita il webService, e ancora, per essere raggiunti da una macchina esterna, dovrebbero avere un indirizzo IP per poter comunicare con altre macchine in una rete.

quindi...
ognuna delle macchina sulla quale girà la tua applicazione dovrà avere :
>un web server
>un web service
>il db access
>il tuo programma
>un indirizzo IP raggiungibile (qui poi si parlerà di configurazione di rete...)

per l'ultimo punto poi dovresti specificare meglio la situazione della rete o delle reti...

Idea Grip Profilo | Newbie

>Ciao, proviamo ad andare per gradi :
>il webservice ovviamente deve girare in un server per funzionare,
>il suo scopo e quello di fornire un servizio. In questo caso
>il servizio sarebbe ottenere l'accesso ai dati presenti in un
>db (access) che viene utilizzato da un programma in locale, quindi,
>per poter consumare dall'esterno i dati, il webService dovrebbe
>essere installato nella stessa macchina dov'è presente il db
>(anche se esistono altre soluzioni che ti sconsiglio caldamente
>e di cui non vale la pena parlare), ne consegue che il ognuno
>dei tuoi clienti dovrà avere installato il webservice per accedere
>ai loro dati, ergo, dovrebbero avere il web server che ospita
>il webService, e ancora, per essere raggiunti da una macchina
>esterna, dovrebbero avere un indirizzo IP per poter comunicare
>con altre macchine in una rete.
>
>quindi...
>ognuna delle macchina sulla quale girà la tua applicazione dovrà
>avere :
>>un web server
>>un web service
>>il db access
>>il tuo programma
>>un indirizzo IP raggiungibile (qui poi si parlerà di configurazione di rete...)
>
>per l'ultimo punto poi dovresti specificare meglio la situazione
>della rete o delle reti...

Grazie u235 per la risposta che mi hai dato, io personalmente ho il mio pc in una rete interna dietro un router (e questa è una configurazione che trovo spesso dai miei clienti), quindi nella peggiore delle ipotesi se risolvo questa risolvo il 99% del problema.
Dopo molte prove ho constatato che se richiamo il web service da browser, questo funziona, ma se lo chiamo dalla Web app, mi restituisce Errore 404 not found, ho anche impostato su iis "Restrizioni ISAPI e CGI " su consenti moduli non specificati per liberare le estensioni services ma niente da fare.

L'unica cosa che posso dire è che se tento di publicare e/o copiare la web app direttamente con vs 2008 sul server remoto mi da Errore: Le estensioni Front Page non sembrano installate sul server; devo dire che carico il sito su un dominio di terzo livello (forse dipende da questo), se tento di fare lo stesso sul dominio principale in una cartella questo errore non compare, ma non posso utilizzare questa condizione perchè ho già il sito aziendale caricato.

Se vuoi provare ti passo gli url del web services (http://localhost/Servizio.service.asmx) e quello della web app che lo richiama (http:/webtir.ideagrip.it), basta cliccare il tasto Carica.

Grazie se vorrai rispondermi.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5