У меня есть решение с проектом MVVM, который ссылается на проект веб-службы WCF, и проектом WPF, являющимся частью GUI.
Когда я добавляю в окне WPF XAML ссылку на MVVM Основной класс, у меня есть ошибка: не удается найти конечную точку dafault, которая ссылается на контракт "MarketService.IService1" в разделе конфигурации клиента ServiceModel. Это может быть связано с тем, что файл конфигурации не найден, или что конечная точка соответствует эта конечная точка не найдена в клиентском элементе.
Ошибка возникает в проекте MVVM при вызове веб-службы:
public class MainWindowMVVM
{
private IList<Magasin> _Magasins = new ObservableCollection<Magasin>();
public IList<Magasin> Magasins {
set
{
_Magasins = value;
}
get
{
return _Magasins;
}
}
public MainWindowMVVM()
{
//au démarrage, magasins est remplie grâce à un appel au service
using (var market = new MarketService.Service1Client()) <---- here is the error
{
Supermarche retour = market.GetSupermarche();
//copier retour.magasins dans magasins
foreach (Magasin mg in retour.Magasins)
{
Magasins.Add(mg);
}
}
//trvMarket.ItemsSource = Magasins;
}
}
Вот как класс MVVM включен в окно WPF:
<Window x:Class="UserInterface.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:UserInterface"
mc:Ignorable="d"
Title="Market Client" Height="450" Width="800"
xmlns:self="clr-namespace:Model;assembly=Model"
xmlns:mvvmPart="clr-namespace:MVVM;assembly=MVVM" <-- here I include the project
>
<Window.Resources>
<local:NotConverter x:Key="NotConverter" />
<Style x:Key="TreeViewItemStyle_ExpandAll" TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="True"/>
</Style>
</Window.Resources>
<Window.DataContext>
<mvvmPart:MainWindowMVVM/> <--here I want to make a default access to the MVVM class
...
В последней стрелке Visual Studio показывает ту же ошибку, что и выше (относительно конечной точки по умолчанию).
Чтобы добавить веб-сервис в проект MVVM, я используйте мастер Visual Studio:
Обратите внимание, что проект WPF не содержит ссылок на веб-сервис. недостаток: я не нашел это необходимым.
Вот файл конфигурации app.config в проекте MVVM:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/market11/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="MarketService.IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
</configuration>
Вы знаете, что идет не так?