2010-02-22 2 views
0

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

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

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..." 

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

ответ

0

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

Элемент Login app.config должен содержать два тега <endpoint .../> в разделе <configuration><system.serviceModel><client>.

+0

Да, я получил это сейчас, но потом у меня есть пустой ответ от службы. Я создал глобальный файл app.config для обоих проектов, и он работает. – Kamilos

+0

Что вы подразумеваете под «пустым ответом»? Если вы получите ответ, то ваш сервис работает. Ошибка в другом месте, в вашей службе у вас есть несколько экземпляров службы и неправильный вызов и т. Д. – Mart

+0

response.Succeed было правдой, но все данные были пустыми, не могли добавить новую ссылку на один из проектов, но это другая проблема (VS ошибка?) - когда я копирую ее из другого проекта и меняю вручную в csproj и Reference.cs, это работает ... странно. Просто добавляя новую ссылку на службу, она добавляется (без ошибок), но это не так. – Kamilos

Смежные вопросы