Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Метод DiscoveryDocumentReference.ResolveAll ()

 

Опубликовано: Октябрь 2016

Проверяет допустимость всех документов, упоминаемых в документе обнаружения.

Пространство имен:   System.Web.Services.Discovery
Сборка:  System.Web.Services (в System.Web.Services.dll)

Exception Condition
InvalidOperationException

Значение свойства ClientProtocolnull.

-или-

Не удалось загрузить и проверить документ обнаружения.

Если вам не требуется обрабатывать отдельные ссылки из DiscoveryDocumentReference объекта необходимо вызвать ResolveAll или ResolveOneLevel методы DiscoveryClientProtocol.

Этот метод обрабатывает все ссылки на документы обнаружения, схемы XSD и описания служб в References свойство ClientProtocol и любые ссылки, найденные в документах обнаружения.

using System;
using System.Web.Services.Discovery;
using System.Collections;
using System.Security.Permissions;

class DiscoveryDocumentReference_Document_ResolveAll
{
   static void Main()
   {

      Run();
   }

   [PermissionSetAttribute(SecurityAction.Demand, Name="FullTrust")]
   static void Run()
   {
      try
      {
         string myUrl = "http://localhost/Sample_cs.vsdisco";
         DiscoveryClientProtocol myProtocol = new DiscoveryClientProtocol();
         // Get the discovery document myDiscoveryDocument.
         DiscoveryDocument myDiscoveryDocument = myProtocol.Discover(myUrl);
         // Get the references of myDiscoveryDocument.
         IEnumerator myEnumerator = myDiscoveryDocument.References.GetEnumerator();
         while(myEnumerator.MoveNext())
         {
            DiscoveryDocumentReference myNewReference = 
                           (DiscoveryDocumentReference)myEnumerator.Current;
            // Set the ClientProtocol of myNewReference.
            DiscoveryClientProtocol myNewProtocol = myNewReference.ClientProtocol;
            // Verify for all the valid references.
            myNewReference.ResolveAll();

            // Get the document of myNewReference.
            DiscoveryDocument myNewDiscoveryDocument = 
                                                 myNewReference.Document;

            IEnumerator myNewEnumerator = 
                           myNewDiscoveryDocument.References.GetEnumerator();
            Console.WriteLine("The valid discovery document is : \n");
            while(myNewEnumerator.MoveNext())
            {
               // Display the references of myNewDiscoveryDocument on the console.
               Console.WriteLine(((DiscoveryDocumentReference)myNewEnumerator.Current).Ref);
            }
         }
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception :{0}", e.Message);
      }
   }
}

.NET Framework
Доступно с 1.1
Вернуться в начало
Показ: