Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WCF Реализация служб, Передача параметров 
:(
    Опции темы
lutikman
Дата 15.7.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 30.9.2006

Репутация: нет
Всего: нет



Добрый день. Если форма, на которой две кнопки (старт и стоп, которые запускают и останавливают службу)
Вот ее код:

Код

namespace WCFServices
{
    public partial class ServicesMainForm : Form
    {
        private int varA = 10;
        private int varB = 20;
        private ServiceHost selfHost;
        private Uri baseAddress = new Uri("http://localhost:8000/WCFServices/");

        public ServicesMainForm()
        {
            InitializeComponent();
        }

        private void bStartCalc_Click(object sender, EventArgs e)
        {
            selfHost = new ServiceHost(typeof(CalculatorService), baseAddress);
            try
            {
                selfHost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(), "CalculatorService");
                ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                smb.HttpGetEnabled = true;
                selfHost.Description.Behaviors.Add(smb);
                selfHost.Open();
                bStopCalc.Enabled = true;
                bStartCalc.Enabled = false;
            }
            catch (CommunicationException ce)
            {
                selfHost.Abort();
                bStopCalc.Enabled = false;
                bStartCalc.Enabled = true;
            }
        }

        private void bStopCalc_Click(object sender, EventArgs e)
        {
            selfHost.Close();
            bStopCalc.Enabled = false;
            bStartCalc.Enabled = true;
        }
    }
}


И есть класс, реализующий саму службу:
Код

namespace WCFServices
{
    [ServiceContract(Namespace = "http://WCFServices")]
    public interface ICalculator
    {
        [OperationContract]
        double Add();
        [OperationContract]
        double Subtract();
        [OperationContract]
        double Multiply();
        [OperationContract]
        double Divide();
    }

    public class CalculatorService : ICalculator
    {
        private double n1 = 0;
        private double n2 = 0;

        public double Add()
        {
            return n1 + n2;
        }

        public double Subtract()
        {
            return n1 - n2;
        }

        public double Multiply()
        {
            return n1 * n2;
        }

        public double Divide()
        {
            return n1 / n2;
        }
    }
}


Вопрос: Как в функции, раелизующие контракты операций (Add(), Subtract(), Multiply(), Divide()) передать переменные (varA, varB) из главного класса ServicesMainForm?
PM MAIL WWW ICQ   Вверх
KelTron
Дата 15.7.2010, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: нет
Всего: 38



Переписать все функции, чтобы они принимали параметры..)


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0848 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.