WPF - как вызвать другой WPF с собственными сервисными ссылками? - PullRequest
0 голосов
/ 22 февраля 2010

У меня есть 2 проекта WPF в 1 решении. Каждый из этих проектов имеет разные сервисные ссылки. Первый проект - это окно для входа, второй - главное окно с приложением. Это должно быть в отдельных проектах, не спрашивайте, почему.

Итак, я делаю ссылку на главное окно в проекте входа в систему и создаю объект главного окна, когда данные входа в систему являются основными. Вот пример кода:

try
{
    if (Service1.Login(login, pass))
    {
        MainWindow w2 = new MainWindow();
        w2.Show();
        this.Close();
    }
}
catch (Exception ex)
{
//...
}

Моя проблема возникает при вызове главного окна. Главное исключение таково:

"Cannot create instance of 'MainWindow' defined in assembly 'TestApp, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null'. Exception has been thrown by the target of an 
invocation.  Error in markup file 'MainWindow.xaml' Line 1 Position 9." 

Внутреннее исключение сказал мне что-то вроде:

"Cannot found endpoint of service..."

Но когда я запускаю только проект основного окна при запуске, он работает хорошо. Есть ли какой-нибудь "правильный" метод для вызова других WPF-ссылок со службами? Или я должен что-то делать со ссылками?

1 Ответ

0 голосов
/ 22 февраля 2010

В вашей архитектуре нет ничего плохого (даже если мы можем обсудить это), это больше вопрос WCF. Ваша проблема связана с тем, что в вашем конфигурационном файле приложения Login нет конечной точки, определенной для службы MainWindow.

Входной файл app.config должен содержать два тега <endpoint .../> в разделе <configuration><system.serviceModel><client>.

...