2010-03-08 28 views
5

Cada nuevo servicio web se crea utilizando Visual Studio viene con un espacio de nombres predefinidos como esto:ASMX: ¿Con qué debe reemplazarse tempuri.org?

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

Mi servicio web funcionará a diferentes clientes, y en diferentes dominios, por lo que debido a esto no sé la dominio por adelantado durante el desarrollo, también no quiero tener que editar este archivo, cada vez que despliegue a un nuevo cliente.

¿Cuál debería ser exactamente el valor de Namespace? Parece una dirección web, pero eso no tiene sentido para mí.

+0

Posible duplicado de [What is tempuri.org ?](http://stackoverflow.com/questions/180985/what-is-tempuri-org) – Fowl

Respuesta

12

Es un poco irónico, pero la mejor respuesta es bajo: http://tempuri.org/

cita de servicio Web

Cada XML necesita un espacio de nombres único para que las aplicaciones cliente para distinguirlo de otros servicios en la Web. De forma predeterminada, los servicios web de ASP.Net usan http://tempuri.org/ para este fin. Si bien esto es adecuado para los servicios web XML en desarrollo, los servicios publicados deberían usar un espacio de nombres único y permanente.

Su servicio web XML debe ser identificado por un espacio de nombres que usted control. Por ejemplo, puede usar el nombre de dominio de Internet de su compañía como parte del espacio de nombres. Aunque muchos espacios de nombres parecen URL, necesitan que no apunten a recursos reales en el Web .

para servicios Web XML que crean usando ASP.NET, el espacio de nombres por defecto puede ser cambiado utilizando la propiedad Namespace del atributo WebService . El atributo WebService se aplica a la clase que contiene los métodos de servicio XML Web . A continuación se muestra un código ejemplo que define el espacio de nombres a "http://microsoft.com/webservices/":

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

+1 y respuesta aceptada - Lol - disculpe el humor, pero ¿qué pasa si su empresa es demasiado pobre para permitirse un nombre de dominio? :) JK –

+0

¿Hay alguna manera de omitirlo por completo? Al tratar de consumirlo con AS3 usando clase XML, debe agregar el espacio de nombres a todo, como se describe aquí: http://www.actionscript.org/forums/showthread.php3?t=184708, y es bastante molesto ... –

+0

Ok, si lo hace [WebService (Namespace = null)] en el archivo asmx.cs, se omite ... (Para cualquiera que quiera saber ...) –

3

poner en su dominio, como revelador;)

se utiliza básicamente como identificador de recursos a los esquemas. Pero parece que no tiene un uso real, excepto ser "parte del estándar".

+0

¿Necesito tener http: // bit, o puedo simplemente nombrarlo? –

3

http://tempuri.org es un ejemplo de un "espacio de nombres XML". En este caso, sucede que es la ubicación de una página en la Web, pero en general, un Espacio de nombres XML es solo una cadena de texto en forma de URI.

Los espacios de nombres XML tienen el propósito de hacer únicos los nombres de los nodos XML. El ejemplo canónico es asegurarse de que su elemento Book y el elemento Book de otro servicio sean de dos tipos diferentes y no entren en conflicto entre sí. Esa es la razón para usar el nombre de dominio de su empresa como parte del espacio de nombres, si es posible. El nombre de dominio de su empresa será único. Presumiblemente, usted tiene el control de todos los espacios de nombres que usan el nombre de dominio de su empresa, por lo que su empresa puede asegurarse de que no haya conflictos dentro de la compañía: la exclusividad de los nombres de dominio asegura que no haya conflicto entre los nombres de dominio.

Cuestiones relacionadas