我刚开始学习WCF。我找到了一个有趣的教程,如何编写点对点聊天。
How to create a peer-to-peer chat application using WPF and wcf in Visual Studio 2010
我做了本教程中显示的所有内容,但我得到了例外。
Blockquote XamlParseException未处理。 '调用 类型' ChatGUI.MainWindow'上的构造函数匹配指定的 绑定约束引发了异常。'行号' 3'和线 职位' 9'。
问题在于这一行。
_backend = new ChatBackend.ChatBackend(this.DisplayMessage);
我处理此异常
try{
_backend = new ChatBackend.ChatBackend(this.DisplayMessage);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
并收到以下消息。
消息="找不到名称为' ChatEndpoint'的端点元素 和合同' ChatBackend.IChatBackend'在ServiceModel客户端中 配置部分。这可能是因为没有配置文件 找到您的应用程序,或者没有端点元素。
请告知如何解决这种情况。
这是我的App.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<netPeerTcpBinding>
<binding name="Wimpy">
<resolver mode="Pnrp" />
<security mode="None" />
</binding>
</netPeerTcpBinding>
</bindings>
<client>
<endpoint address="net.p2p://Chat" binding="netPeerTcpBinding"
bindingConfiguration="Wimpy" contract="ChatBackend.IChatBackend"
name=" ChatEndpoint" kind="" endpointConfiguration="">
<identity>
<dns value="localhost" />
<certificateReference storeName="My" storeLocation="LocalMachine"
x509FindType="FindBySubjectDistinguishedName" />
</identity>
</endpoint>
</client>
<services>
<service name="ChatBackend.ChatBackend">
<endpoint address="net.p2p://Chat" binding="netPeerTcpBinding"
bindingConfiguration="Wimpy" name="Chat" contract="ChatBackend.IChatBackend" />
</service>
</services>
</system.serviceModel>
</configuration>