ASMX: Чем заменить tempuri.org? - PullRequest
       66

ASMX: Чем заменить tempuri.org?

5 голосов
/ 08 марта 2010

Каждый новый веб-сервис, который вы создаете с помощью visual studio, поставляется с предопределенным пространством имен, таким как:

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

Мой веб-сервис будет работать на разных клиентах и ​​в разных доменах, поэтому из-за этого я не знаю, какой домен был открыт во время разработки, а также мне не нужно редактировать этот файл каждый раз, когда я развертываюсь в новый клиент.

Каким именно должно быть значение Namespace? Это похоже на веб-адрес, но это не имеет смысла для меня.

Ответы [ 3 ]

12 голосов
/ 08 марта 2010

Это иронично, но лучший ответ: http://tempuri.org/

цитата

Каждой веб-службе XML требуется уникальное пространство имен, чтобы клиентские приложения могли отличить его от других служб в Интернете. По умолчанию веб-службы ASP.Net используют для этой цели http://tempuri.org/. Хотя это подходит для разрабатываемых веб-служб XML, опубликованные службы должны использовать уникальное постоянное пространство имен.

Ваш веб-сервис XML должен быть идентифицируется пространством имен, которое вы контроль. Например, вы можете использовать Интернет-домен вашей компании как часть пространства имен. Хотя многие пространства имен выглядят как URL, им нужно не указывают на фактические ресурсы на Web.

Для создания веб-служб XML с использованием ASP.NET, пространство имен по умолчанию может быть изменено с помощью WebService Свойство Namespace атрибута. Атрибут WebService применяется к класс, который содержит XML Web Сервисные методы. Ниже приведен код пример, который устанавливает пространство имен «http://microsoft.com/webservices/":

C#
[WebService(Namespace="http://microsoft.com/webservices/")]
public class MyWebService {
    // implementation
}
3 голосов
/ 11 марта 2010

http://tempuri.org является примером "пространства имен XML". В данном случае это местоположение страницы в Интернете, но в общем случае пространство имен XML - это просто текстовая строка в форме URI.

Пространства имен XML предназначены для того, чтобы сделать имена узлов XML уникальными. Канонический пример - убедиться, что ваш элемент Book и элемент Book другого сервиса имеют два разных типа и не конфликтуют друг с другом. По этой причине, если возможно, следует использовать доменное имя вашей компании как часть пространства имен. Доменное имя вашей компании будет уникальным. Предположительно, вы контролируете все пространства имен, использующие доменное имя вашей компании, поэтому ваша компания может убедиться в отсутствии конфликтов внутри компании - уникальность доменных имен гарантирует, что между доменными именами нет конфликта .

3 голосов
/ 08 марта 2010

Поставь в свой домен, как разработчик;)

в основном используется в качестве идентификатора ресурса для схем. Но, похоже, нет никакой реальной пользы, кроме как быть «частью стандарта».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...