ПРАКТИЧЕСКОЕ руководство: Отправка и получение двоичных документов с помощью ASP.NET и Visual C#.NET

Переводы статьи Переводы статьи
Код статьи: 318425 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этой статье показано, как создавать веб-службы и клиента веб-службы для отправки и получения двоичных документов с помощью Microsoft ASP.NET и Microsoft Visual C#.NET. Можно использовать ASP.NET и Visual C#.NET для создания веб-службы, и сохраняет двоичных документов в папке на веб-сервере и извлечение двоичных документов из папки на веб-сервере. Эту службу можно использовать как простые системы управления документами в Интернете.

Построение веб-службы

  1. На Файл меню в Microsoft Visual Studio.NET, нажмите кнопку Новый, а затем нажмите кнопку Проект.
  2. В Проекты Visual C#, выберите ASP.NET веб-службы. Введите или вставьте http://localhost/DocumentManagementService для Расположение, а затем нажмите кнопку ОК. По умолчанию Service1.asmx создается и отображается в режиме конструктора.
  3. На Представление меню, нажмите кнопку Код Чтобы отобразить представление кода для Service1.asmx.
  4. Добавьте следующий код для веб-методы Класс Service1:
    
    [WebMethod]
    public bool SaveDocument( Byte[] docbinaryarray, string docname)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + docname;
    	FileStream objfilestream =new FileStream(strdocPath,FileMode.Create,FileAccess.ReadWrite);
    	objfilestream.Write(docbinaryarray,0,docbinaryarray.Length);
    	objfilestream.Close();
    
    	return true;
    }
    
    [WebMethod]
    public int GetDocumentLen(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	objfilestream.Close();
    
    	return len;
    } 
    
    
    [WebMethod]
    public Byte[] GetDocument(string DocumentName)
    {
    	string strdocPath;
    	strdocPath = "C:\\DocumentDirectory\\" + DocumentName;
    
    	FileStream objfilestream = new FileStream(strdocPath,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;			
    	Byte[] documentcontents  = new Byte[len];
    	objfilestream.Read(documentcontents,0,len);
    	objfilestream.Close();
    
    	return documentcontents;	
    } 
    					

    ПРИМЕЧАНИЕ: Код сохраняет документы на <root>: \\DocumentDirectory\\ путь к каталогу на сервере. Изменить папку на веб-сервере, где требуется сохранить документы.</root>

  5. Начало Service1.asmx, добавьте следующие пространства имен:
    using System.IO;
  6. Тестирование веб-службы:
    1. На Отладка меню, нажмите кнопку Начало для запуска веб-службы. Будет запущен веб-обозреватель и описание службы на странице справки.
    2. Убедитесь, что SaveDocument, GetDocument, и GetDocumentLen методы отображаются.
    3. Закройте окно веб-обозревателя, чтобы остановить отладку.

Создание клиента веб-службы

  1. На Файл меню Visual Studio.NET, нажмите кнопку Добавить проект, а затем нажмите кнопку Новый проект.
  2. В Проекты Visual C# Список выбора Приложение Windows, а затем нажмите кнопку ОК. По умолчанию будет создана форма Form1.
  3. Добавьте веб-ссылку на веб-службы следующим образом:
    1. В обозревателе решений щелкните правой кнопкой мыши элемент проекта клиента. Затем выберите Добавление веб-ссылки В меню Контекст меню.
    2. В Добавление веб-ссылки Введите URL-адрес файла языка описания веб-служб (WSDL) для веб-службы и нажмите клавишу ВВОД.

      ПРИМЕЧАНИЕ: По умолчанию расположение WSDL-файла является http://localhost/DocumentManagementService/Service1.asmx?WSDL.
    3. В Добавление веб-ссылки диалоговое окно, нажмите кнопку Добавить ссылку.
  4. Добавьте в форму Form1 две кнопки. Установка Текст Свойство button1 для Хранилище документов на сервере. Установка Текст Свойство button2, чтобы Загрузить документ с сервера.
  5. Дважды щелкните значок Button1 и Button2 для создания по умолчанию щелкните обработчики событий для кнопок.
  6. Обработчики Замените следующий код:
    string sFile = "<file path>";
    
    private void button1_Click(object sender, System.EventArgs e)
    {
    	FileStream objfilestream = new FileStream(sFile,FileMode.Open,FileAccess.Read);
    	int len = (int)objfilestream.Length;
    	Byte[] mybytearray = new Byte[len];
    	objfilestream.Read(mybytearray,0,len);
    	localhost.Service1 myservice = new localhost.Service1();
    	myservice.SaveDocument(mybytearray,sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Close();
    }
    
    private void button2_Click(object sender, System.EventArgs e)
    {
    	MemoryStream objstreaminput = new MemoryStream();
    	FileStream objfilestream = new FileStream(sFile.Insert(sFile.LastIndexOf("."),"2"), FileMode.Create,FileAccess.ReadWrite);
    						
    	localhost.Service1 myservice = new localhost.Service1();
    	int len = (int)myservice.GetDocumentLen(sFile.Remove(0,sFile.LastIndexOf("\\")+1)); 
    	Byte[] mybytearray = new Byte[len];
    	mybytearray = myservice.GetDocument(sFile.Remove(0,sFile.LastIndexOf("\\")+1));
    	objfilestream.Write(mybytearray,0,len);
    	objfilestream.Close();
    }
    					
    ПРИМЕЧАНИЕ: В sFile переменная должна содержать путь к локальному файлу документ, который будет отправлен на сервер. После загрузки документа помещается в той же папке и значение 2 добавляется к имени файла.

  7. В начале файла добавьте следующие пространства имен:
    using System.IO;
  8. В обозревателе решений щелкните правой кнопкой мыши элемент проекта клиента. Затем выберите Назначить запускаемым проектом В меню Контекст меню.

Испытание на практике

  1. На Отладка меню, нажмите кнопку Начало. Появится форма Form1.
  2. Нажмите кнопку с надписью Хранилище документов на сервере. Это вызовет SaveDocument Веб-метода. Этот метод веб-локальный документ сохраняется в <root>: \DocumentDirectory\ папки на сервере. После передачи документа убедитесь, что файл существует в папке назначения.</root>
  3. Нажмите кнопку с надписью Загрузить документ с сервера. Это вызовет GetDocument Веб-метода. Этот метод веб-документ извлекается из <root>: \DocumentDirectory\ папки на сервере. Сохранить документ на локальный диск, который указан в коде.</root>

Ссылки

Дополнительные сведения содержатся в Microsoft Visual Studio.NET документации.

Свойства

Код статьи: 318425 - Последний отзыв: 7 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Ключевые слова: 
kbhowtomaster kbmt KB318425 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:318425

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com