VSProject2.AddWebReference - метод
Добавляет ссылку на веб-службу этого проекта. В папку веб-ссылок проекта добавляется новая вложенная папка ссылок на веб-службу. В этой новой папке содержится несколько других элементов проекта, относящихся к веб-службе. Метод возвращает объект ProjectItem, связанный с новой папкой веб-службы.
Пространство имен: VSLangProj80
Сборка: VSLangProj80 (в VSLangProj80.dll)
Синтаксис
'Декларация
Function AddWebReference ( _
bstrUrl As String _
) As ProjectItem
ProjectItem AddWebReference(
string bstrUrl
)
ProjectItem^ AddWebReference(
[InAttribute] String^ bstrUrl
)
abstract AddWebReference :
bstrUrl:string -> ProjectItem
function AddWebReference(
bstrUrl : String
) : ProjectItem
Параметры
bstrUrl
Тип: StringОбязательный. Обычно это URL-адрес имени файла с расширением DISCO или VSDISCO.
Возвращаемое значение
Тип: ProjectItem
Возвращает объект ProjectItem, являющийся новой папкой веб-ссылок.
Заметки
Если параметр WebReferencesFolder имеет значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)), то создается элемент ProjectItem для папки веб-ссылок проекта, и параметр WebReferencesFolder устанавливается.
При создании веб-ссылки на веб-службу в коллекцию ProjectItems проекта добавляется новый тип папки ProjectItem. В свойстве ProjectItems этого нового объекта ProjectItem содержатся отдельные элементы, составляющие спецификацию веб-ссылки. В следующей таблице описаны четыре типа элементов, включенных в спецификацию веб-ссылки.
Элемент |
Назначение |
---|---|
Файл сопоставления (Reference.map) |
Данный XML-файл сопоставляет URL-адреса с локальным расположением кэшированного файла. В нем перечислены файл обнаружения и файлы контрактов служб для данной веб-службы. |
Файлы контрактов служб (WSDL-файлы) |
В этих SOAP-файлах задается интерфейс данной веб-службы. В папке веб-ссылок может быть несколько файлов контрактов служб. |
Файлы определения схемы XML (XSD-файлы) |
В этих файлах содержатся определения схемы XML для данной веб-службы. В папке веб-ссылок может быть несколько файлов схем. |
Файл обнаружения (с расширением .disco или .vsdisco) |
В этом XML-файле содержатся ссылки на другие ресурсы, описывающие данную веб-службу. |
Примеры
В данном примере добавляется веб-служба в проект Visual Basic или Visual C#. Перед выполнением этого примера следует изменить значение https://ServerName/Application/myServiceName.asmx параметра bstrUrl на фактический URL-адрес. О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
[Visual Basic]
' Add-in code.
Imports VSLangProj
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
applicationObject = CType(application, DTE2)
addInInstance = CType(addInInst, AddIn)
AddWebReferenceExample(applicationObject)
End Sub
Sub AddWebReferenceExample(ByVal dte As DTE2)
' This example assumes that the first project in the solution is
' a Visual Basic or C# project.
Dim aVSProject As VSProject2 = _
CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
' The new project item is a folder.
Dim newFolder As ProjectItem
' Replace the sample URL with an actual URL.
newFolder = aVSProject.AddWebReference( _
"https://ServerName/Application/myServiceName.asmx")
' The new name of the folder appears in Solution Explorer.
newFolder.Name = "NewName"
' The ProjectItems collection for the folder is not empty.
MsgBox(newFolder.ProjectItems.Count.ToString())
End Sub
[C#]
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
AddWebReferenceExample((DTE2)applicationObject);
}
public void AddWebReferenceExample(DTE2 dte)
{
// This example assumes that the first project in the solution is
// a Visual Basic or C# project.
VSProject2 aVSProject =
((VSProject2)( applicationObject.Solution.Projects.Item(1).Object));
// The new project item is a folder.
ProjectItem newFolder = null;
// Replace the sample URL with an actual URL.
newFolder = aVSProject.AddWebReference
("https://ServerName/Application/myServiceName.asmx ");
// The new name of the folder appears in Solution Explorer.
newFolder.Name = "NewName";
// The ProjectItems collection for the folder is not empty.
MessageBox.Show("Number of items in the Web Reference folder: \n"
+ newFolder.ProjectItems.Count.ToString());
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.