Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Метод <Start><ftpServer> элемента запускает ftp-сайт, к которому <ftpServer> применяется.
<Start> После вызова метода состояние времени выполнения для FTP-сайта можно определить по значению атрибута state.
Совместимость
| Версия | Примечания |
|---|---|
| IIS 10.0 | Элемент <ftpServer> не был изменен в IIS 10.0. |
| IIS 8,5 | Элемент <ftpServer> , включающий <Start> метод , не был изменен в IIS 8.5. |
| IIS 8,0 | Элемент <ftpServer> , включающий <Start> метод , не был изменен в IIS 8.0. |
| IIS 7,5 | Элемент <ftpServer> , включающий метод , <Start> поставляемый как компонент IIS 7.5. |
| IIS 7.0 | Элемент <ftpServer> , включающий <Start> метод , появился в FTP 7.0, который был отдельной загрузкой для IIS 7.0. |
| IIS 6,0 | Н/Д |
Настройка
Для поддержки публикации ftp для веб-сервера необходимо установить службу FTP. Для этого выполните следующие действия.
Windows Server 2012 или Windows Server 2012 R2
На панели задач щелкните Диспетчер сервера.
В диспетчер сервера откройте меню Управление и выберите пункт Добавить роли и компоненты.
В мастере добавления ролей и компонентов нажмите кнопку Далее. Выберите тип установки и нажмите кнопку Далее. Выберите целевой сервер и нажмите кнопку Далее.
На странице Роли сервера разверните узел Веб-сервер (IIS) и выберите FTP-сервер.
Примечание
Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Помимо службы FTP необходимо выбрать расширяемость FTP.
.Нажмите кнопку Далее, а затем на странице Выбор компонентов нажмите кнопку Далее еще раз.
На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
На странице Результаты нажмите кнопку Закрыть.
Windows 8 или Windows 8.1
На начальном экране переместите указатель в левый нижний угол, щелкните правой кнопкой мыши кнопку Пуск и выберите пункт панель управления.
В панель управления щелкните Программы и компоненты, а затем — Включить или выключить компоненты Windows.
Разверните узел Службы IIS, а затем выберите FTP-сервер.
Примечание
Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
Нажмите кнопку ОК.
Щелкните Закрыть.
Windows Server 2008 R2
На панели задач нажмите кнопку Пуск, наведите указатель мыши на пункт Администрирование, а затем щелкните диспетчер сервера.
В области иерархии диспетчер сервера разверните узел Роли, а затем щелкните Веб-сервер (IIS) .
В области Веб-сервер (IIS) прокрутите страницу до раздела Службы ролей и щелкните Добавить службы ролей.
На странице Выбор служб ролеймастера добавления служб ролей разверните узел FTP-сервер.
Выберите Служба FTP.
Примечание
Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
Щелкните Далее.
На странице Подтверждение выбранных элементов для установки нажмите кнопку Установить.
На странице Результаты нажмите кнопку Закрыть.
Windows 7
На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
В панель управления щелкните Программы и компоненты, а затем — Включить или отключить компоненты Windows.
Разверните узел Службы IIS, а затем — FTP-сервер.
Выберите Служба FTP.
Примечание
Для поддержки ASP. Проверка подлинности членства или проверка подлинности диспетчера IIS для службы FTP. Также необходимо выбрать расширяемость FTP.
Нажмите кнопку ОК.
Windows Server 2008 или Windows Vista
Скачайте пакет установки по следующему URL-адресу:
Следуйте инструкциям в следующем пошаговом руководстве, чтобы установить службу FTP:
Инструкции
Запуск FTP-сайта
Откройте диспетчер служб IIS.
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, инструменты, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем щелкните Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем выберите пункт панель управления.
- Дважды щелкните элемент Администрирование, а затем дважды щелкните диспетчер служб IIS.
В области Подключения разверните имя сервера, узел Сайты , а затем щелкните имя FTP-сайта.
В разделе Управление веб-сайтом области Действия нажмите кнопку Пуск.
Конфигурация
Элемент конкретного <ftpServer> сайта настраивается на уровне сайта.
Атрибуты
Не применяется
Дочерние элементы
Не применяется
Пример кода
В следующих примерах можно запустить FTP-сайт программным способом.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
// Retrieve the sites collection.
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();
// Locate a specific site.
ConfigurationElement siteElement = FindElement(sitesCollection, "site", "name", @"mySite");
if (siteElement == null) throw new InvalidOperationException("Element not found!");
// Create an object for the ftpServer element.
ConfigurationElement ftpServerElement = siteElement.GetChildElement("ftpServer");
// Create an instance of the Start method.
ConfigurationMethodInstance Start = ftpServerElement.Methods["Start"].CreateInstance();
// Execute the method to start the FTP site.
Start.Execute();
}
}
private static ConfigurationElement FindElement(ConfigurationElementCollection collection, string elementTagName, params string[] keyValues)
{
foreach (ConfigurationElement element in collection)
{
if (String.Equals(element.ElementTagName, elementTagName, StringComparison.OrdinalIgnoreCase))
{
bool matches = true;
for (int i = 0; i < keyValues.Length; i += 2)
{
object o = element.GetAttributeValue(keyValues[i]);
string value = null;
if (o != null)
{
value = o.ToString();
}
if (!String.Equals(value, keyValues[i + 1], StringComparison.OrdinalIgnoreCase))
{
matches = false;
break;
}
}
if (matches)
{
return element;
}
}
}
return null;
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
' Retrieve the sites collection.
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection
' Locate a specific site.
Dim siteElement As ConfigurationElement = FindElement(sitesCollection, "site", "name", "mySite")
If (siteElement Is Nothing) Then
Throw New InvalidOperationException("Element not found!")
End If
' Create an object for the ftpServer element.
Dim ftpServerElement As ConfigurationElement = siteElement.GetChildElement("ftpServer")
' Create an instance of the FlushLog method.
Dim Start As ConfigurationMethodInstance = ftpServerElement.Methods("Start").CreateInstance()
' Execute the method to start the FTP site.
Start.Execute()
End Sub
Private Function FindElement(ByVal collection As ConfigurationElementCollection, ByVal elementTagName As String, ByVal ParamArray keyValues() As String) As ConfigurationElement
For Each element As ConfigurationElement In collection
If String.Equals(element.ElementTagName, elementTagName, StringComparison.OrdinalIgnoreCase) Then
Dim matches As Boolean = True
Dim i As Integer
For i = 0 To keyValues.Length - 1 Step 2
Dim o As Object = element.GetAttributeValue(keyValues(i))
Dim value As String = Nothing
If (Not (o) Is Nothing) Then
value = o.ToString
End If
If Not String.Equals(value, keyValues((i + 1)), StringComparison.OrdinalIgnoreCase) Then
matches = False
Exit For
End If
Next
If matches Then
Return element
End If
End If
Next
Return Nothing
End Function
End Module
JavaScript
// Create a Writable Admin Manager object.
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
// Retrieve the sites collection.
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites","MACHINE/WEBROOT/APPHOST");
var sitesCollection = sitesSection.Collection;
// Locate a specific site.
var siteElementPos = FindElement(sitesCollection,"site",["name","MySite"]);
if (siteElementPos == -1) throw "Element not found!";
// Retrieve the site element.
var siteElement = sitesCollection.Item(siteElementPos);
// Create an object for the ftpServer element.
var ftpServerElement = siteElement.ChildElements.Item("ftpServer");
// Create an instance of the start method.
var Start = ftpServerElement.Methods.Item("Start").CreateInstance();
// Execute the method to start the FTP site.
Start.Execute();
function FindElement(collection, elementTagName, valuesToMatch) {
for (var i = 0; i < collection.Count; i++) {
var element = collection.Item(i);
if (element.Name == elementTagName) {
var matches = true;
for (var iVal = 0; iVal < valuesToMatch.length; iVal += 2) {
var property = element.GetPropertyByName(valuesToMatch[iVal]);
var value = property.Value;
if (value != null) {
value = value.toString();
}
if (value != valuesToMatch[iVal + 1]) {
matches = false;
break;
}
}
if (matches) {
return i;
}
}
}
return -1;
}
VBScript
' Create a Writable Admin Manager object.
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
' Retrieve the sites collection.
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites","MACHINE/WEBROOT/APPHOST")
Set sitesCollection = sitesSection.Collection
' Locate a specific site.
siteElementPos = FindElement(sitesCollection,"site",Array("name","MySite"))
If siteElementPos = -1 Then
WScript.Echo "Element not found!"
WScript.Quit
End If
' Retrieve the site element.
Set siteElement = sitesCollection.Item(siteElementPos)
' Create an object for the ftpServer element.
Set ftpServerElement = siteElement.ChildElements.Item("ftpServer")
' Create an instance of the Start method.
Set Start = ftpServerElement.Methods.Item("Start").CreateInstance()
' Execute the method to start the FTP site.
Start.Execute()
Function FindElement(collection, elementTagName, valuesToMatch)
For i = 0 To CInt(collection.Count) - 1
Set element = collection.Item(i)
If element.Name = elementTagName Then
matches = True
For iVal = 0 To UBound(valuesToMatch) Step 2
Set property = element.GetPropertyByName(valuesToMatch(iVal))
value = property.Value
If Not IsNull(value) Then
value = CStr(value)
End If
If Not value = CStr(valuesToMatch(iVal + 1)) Then
matches = False
Exit For
End If
Next
If matches Then
Exit For
End If
End If
Next
If matches Then
FindElement = i
Else
FindElement = -1
End If
End Function