Экран MDIParent конструктора не загружается - PullRequest
2 голосов
/ 13 января 2012

Когда я пытаюсь просмотреть экран MDIParent в режиме конструктора, я получаю исключение ниже ...

`Не удалось найти элемент конечной точки с именем« NetTcpBinding_IMyService »и контрактом« ClientProxy.IMyService »в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что для вашего приложения не найден файл конфигурации или из-за того, что ни один элемент конечной точки, соответствующий этому имени, не найден в клиентском элементе. '

Немного предыстории, чтобы более ясно понять мой вопрос ...

У меня есть WCF-сервер, который я пытаюсь использовать в своем приложении Winform. Поэтому я создал отдельную библиотеку классов, в которую я добавил ссылку на сервис и создал прокси. Я скопировал информацию о конечной точке клиента из app.config в библиотеке классов в файл пользовательского интерфейса app.config.

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

Примечание: я думаю, что получаю ошибку, потому что я пытаюсь создать прокси-объект на NEW методе (конструкторе формы), если я комментирую эту строку - я могу просматривать экран конструктора.

Пожалуйста, помогите:)

  • Venky

1 Ответ

0 голосов
/ 13 января 2012

Если вы создаете экземпляр службы в конструкторе формы, это может стать источником вашей проблемы.

Если это так, включите инициализацию службы в тест для DesignMode:

    If Not Me.DesignMode Then
       ' Initialize service
    End If

Обновление

Оказывается, что DesignMode не поддерживается в конструкторе .

На выбор предлагается несколько способов:

1) Используйте следующий тест вместо расчетного режима:

If System.ComponentModel.LicenseManager.UsageMode <> System.ComponentModel.LicenseUsageMode.Designtime Then`

2) Переместите код инициализации из конструктора в событие _load формы, а затем используйте тест DesignMode.

Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load

    If Not Me.DesignMode Then
        ' Initialize service
    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...