公开net.tcp端点我对如何在WCF中公开端点感到困惑我有一个tcp端点和一个mextcp端点。当我尝试在服务主机中运行它时,出现以下异常:在服务MessageReaderService实现的合同列表中找不到合同名称“IMetadataExchange”。将ServiceMetadataBehavior添加到配置文件或直接添加到ServiceHost以启用对此协定的支持。所以我从这个错误中得出结论,我需要添加一个服务行为来暴露元数据。所以我添加了这个行为:但后来我得到了一个不同的错误:ServiceMetadataBehavior的HttpGetEnabled属性设置为true,HttpGetUrl属性是相对地址,但没有http基地址。提供http基地址或将HttpGetUrl设置为绝对地址。所以现在我必须实际添加另一个端点(http)以通过mexhttpbinding公开元数据?有没有一种简单的方法可以通过tcp公开端点?两件事:(1)一旦定义了服务行为,您当然也必须将其应用到服务中!(2)您不需要HTTP端点-您不需要HTTPURL-只需像这样定义此服务行为:您的元数据现在可通过mexTcpBinding端点使用-您无法使用HTTP浏览到它,但客户端绝对可以连接到它并使用它!您可以使用WCF测试客户端验证这一点,然后在这两种情况下转到net.tcp://localhost:8082(基址)或net.tcp://localhost:8082/mex(mex地址),WCF测试客户端现在应该可以找到您的服务并能够发现其功能。以上就是C#学习教程:暴露net.tcp端点共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
