2010-03-08 6 views
5

Ogni nuovo servizio web si crea utilizzando Visual Studio è dotato di uno spazio dei nomi predefinito come questo:ASMX: con cosa dovrebbe essere sostituito tempuri.org?

[WebService(Namespace = "http://tempuri.org/")] 

mio servizio web verrà eseguito a diversi clienti, e in domini diversi, quindi a causa di questo non so il dominio iniziale durante lo sviluppo, anche io non voglio dover modificare questo file, ogni volta che distribuisco a un nuovo client.

Che esattamente dovrebbe essere il valore di Namespace? Sembra un indirizzo web, ma non ha senso per me.

+0

Possibile duplicato di [Cos'è tempuri.org?](http://stackoverflow.it/questions/180985/what-is-tempuri-org) – Fowl

risposta

12

È un po 'ironico, ma la risposta migliore è sotto: http://tempuri.org/

citazione

Ogni XML Web Service ha bisogno di uno spazio dei nomi unico affinché le applicazioni client per distinguerlo da altri servizi sul web. Per impostazione predefinita, i servizi Web ASP.Net utilizzano http://tempuri.org/ per questo scopo. Mentre questo è adatto ai servizi Web XML in fase di sviluppo, i servizi pubblicati dovrebbero utilizzare uno spazio dei nomi unico e permanente.

Il servizio Web XML deve essere identificato da un dominio che è il controllo . Ad esempio, è possibile utilizzare il nome di dominio Internet della propria azienda come parte dello spazio dei nomi. Sebbene molti spazi dei nomi abbiano l'aspetto di URL, è necessario che lo non punti alle risorse effettive sul Web .

per i servizi Web XML con macchine ASP.NET, lo spazio dei nomi di default può essere modificato utilizzando la proprietà Namespace dell'attributo WebService . L'attributoWebService viene applicato alla classe che contiene i metodi di servizio Web XML . Di seguito è riportato un codice esempio che imposta lo spazio dei nomi per "http://microsoft.com/webservices/":

C# 
[WebService(Namespace="http://microsoft.com/webservices/")] 
public class MyWebService { 
    // implementation 
} 
+0

+1 e risposta accettata - Lol - scusa l'umorismo, ma cosa succede se la tua azienda è troppo povera per permettersi un nome di dominio? :) JK –

+0

C'è un modo per ometterlo completamente? Quando provi a consumarlo con AS3 usando la classe XML - devi aggiungere lo spazio dei nomi a tutto, come descritto qui: http://www.actionscript.org/forums/showthread.php3?t=184708, ed è piuttosto fastidioso .. –

+0

Ok, se si esegue [WebService (Namespace = null)] nel file asmx.cs, viene omesso ... (Per tutti quelli che vogliono sapere ...) –

3

mettere nel tuo dominio, come sviluppatore;)

è fondamentalmente utilizzato come identificatore di risorsa da schemi. Ma sembra non avere reale utilità se non essere "parte dello standard".

+0

Devo avere il http: // bit - o posso solo nominare qualcosa? –

3

http://tempuri.org è un esempio di un "Namespace XML". In questo caso, capita di essere la posizione di una pagina sul Web, ma in generale, uno spazio dei nomi XML è solo una stringa di testo sotto forma di un URI.

Gli spazi dei nomi XML hanno lo scopo di rendere i nomi dei nodi XML univoci. L'esempio canonico è quello di assicurarsi che l'elemento e l'elemento Book di un altro servizio siano di due tipi diversi e non siano in conflitto tra loro. Questa è la ragione per utilizzare il nome di dominio della tua azienda come parte dello spazio dei nomi, se possibile. Il nome di dominio della tua azienda sarà unico. Presumibilmente hai il controllo di tutti gli spazi dei nomi che utilizzano il nome di dominio della tua azienda, così la tua azienda può assicurarsi che non ci siano conflitti all'interno della della società - l'unicità dei nomi di dominio assicura che non ci sia conflitto tra i nomi di dominio.