2013-05-23 2 views
2

Я пытаюсь следовать этому руководству On MSDN, чтобы узнать больше о службах документооборота и о том, как они работают. Теперь я, возможно, сумасшедший, но у меня проблемы с клиентской частью учебника (я соблазн обвинить учебник, а не себя за эту проблему). Я получаю ошибки refrence в инициализации StartOrderClient и AddItemClient. Это просто случай с неполным шагом в учебнике или я что-то упускаю?Создание долговременной службы Workflow

Благодарю вас за это заранее.

Ниже моя программа заказа клиента Консоль

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.ServiceModel; 
using System.ServiceModel.Activities; 

namespace OrderClient.OrderService 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      // Send initial message to start the workflow service 
      Console.WriteLine("Sending start message"); 
      StartOrderClient startProxy = new StartOrderClient(); 
      string orderId = startProxy.StartOrder("Kim Abercrombie"); 

      // The workflow service is now waiting for the second message to be sent 
      Console.WriteLine("Workflow service is idle..."); 
      Console.WriteLine("Press [ENTER] to send an add item message to reactivate the workflow service..."); 
      Console.ReadLine(); 

      // Send the second message 
      Console.WriteLine("Sending add item message"); 
      AddItemClient addProxy = new AddItemClient(); 
      AddItem item = new AddItem(); 
      item.p_itemId = "Zune HD"; 
      item.p_orderId = orderId; 

      string orderResult = addProxy.AddItem(item); 
      Console.WriteLine("Service returned: " + orderResult); 
     } 
    } 
} 

Вот ошибки. StartOrderClient и AddItemClient, которые, как я полагаю, не будут определены в учебнике.

Тип или пространство имен имя «StartOrderClient» не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?)

Тип или пространство имен «AddItemClient» не может быть найден (Вы не нашли используя директиву или ссылку на сборку?)

+1

Какие ссылочных ошибки? То есть, в частности, каковы ваши ошибки? – Thelonias

+0

Тип или имя пространства имен не найдено. Я брошу код клиента в главный вопрос, который может помочь. –

+1

Где и когда происходит ошибка? – Thelonias

ответ

0

Чтобы устранить эту ошибку, откройте файл Service1.xamlx. Нажмите на ReceiveStartOrder и измените свойство ServiceContractName на {http://tempuri.org/}IStartOrder (обычно {http://tempuri.org/}IService} по умолчанию). Сделайте то же самое для деятельности ReceiveAddItem (IAddItem).

Восстановить решение. В проекте консоли щелкните правой кнопкой мыши ссылку на службу OrderService и обновите ее.

Примечание: учебник заполнен ошибками, и я все еще работаю над ним. Как только я успешно завершу его и документирую недостающие шаги и неточности, я обновлю этот ответ и могу включить ссылку на сообщение в блоге с пересмотренным учебником.

Для всех, кто пытается сделать это учебное пособие, лучшим вариантом является следовать this updated tutorial.

0

Я использую этот код для основного метода

static void Main(string[] args) 
    { 
     // Send initial message to start the workflow service 
     Console.WriteLine("Sending start message"); 

     ServiceClient proxy = new ServiceClient(); 
     string orderId = proxy.StartOrder("Kim Abercrombie"); 

     // The workflow service is now waiting for the second message to be sent 
     Console.WriteLine("Workflow service is idle..."); 
     Console.WriteLine("Press [ENTER] to send an add item message to reactivate the workflow service..."); 
     Console.ReadLine(); 

     // Send the second message 
     Console.WriteLine("Sending add item message"); 
     AddItem item = new AddItem(); 
     item.p_itemId = "Zune H"; 
     item.p_orderId = orderId; 

     string orderResult = proxy.AddItem(item); 
     Console.WriteLine("Service returned: " + orderResult); 
    } 
Смежные вопросы