В моем клиентском приложении, я получаю следующее сообщение об ошибке:WCF - Ошибка клиент Endpoint Configuration
Could not find endpoint element with name 'QueuedService' and contract
'IMyService' in the ServiceModel client configuration section. This might
be because no configuration file was found for your application, or because no
endpoint element matching this name could be found in the client element.
Я использовал svutil.exe для создания прокси-клиента, я использую. Обычно я вручную катить свой собственный прокси-сервер, и я замечаю, сгенерированную версию интерфейса для контракта на обслуживание не был в пространстве имен я изначально указан в договоре на обслуживание:
// Auto-generated proxy
namespace MyServices.Contracts
{
// Request object in correct namespace
[System.Runtime.Serialization.DataContractAttribute(
Name="MyRequest",
Namespace="http://schemas.datacontract.org/2004/07/MyServices.Contracts")]
public class MyRequest
{
// ...
}
}
// Service contract NOT in namespace
[System.ServiceModel.ServiceContractAttribute(
ConfigurationName="IMyService")]
public interface IMyService
{
// ...
}
Моего хост-приложении web.config Задает обслуживание конечных точек (один для MSMQ и один для TCP):
<system.serviceModel>
<service>
<!-- etc... -->
<endpoint name="QueuedService"
address="net.msmq://localhost/private/MyQueue"
binding="netMsmqBinding"
bindingConfiguration="MsmqDefaultBinding_Local"
contract="MyService.Contracts.IMyService" />
<endpoint name="TcpService"
address="net.tcp://localhost/ServiceHost/TheService.svc"
contract="MyServices.Contracts.IMyService"
binding="netTcpBinding"
bindingConfiguration="netTcpWindowsBinding" />
</service>
</system.serviceModel>
клиентское приложение использует услугу, как это:
var endpointConfigName = GetEndpointConfigNameFromConfig();
using(var myServiceClient = new MyServiceClient(endpointConfigName))
{
// Create Request object...
// Call service like so:
myServiceClient.SomeServiceMethod(requestObject);
}
и web.confi клиента g:
<client>
<endpoint name="QueuedService"
address="net.msmq://localhost/private/MyQueue"
binding="netMsmqBinding"
bindingConfiguration="MsmqDefaultBinding_Local"
contract="MyServices.Contracts.IMyService" />
<endpoint name="TcpService"
address="net.tcp://localhost/ServiceHost/TheService.svc"
contract="MyServices.Contracts.IMyService"
binding="netTcpBinding"
bindingConfiguration="netTcpWindowsBinding" />
</client>
Любые идеи ???
Ошибка, похоже, связана с конфигурационным файлом клиента. Вы уверены, что у клиентского приложения есть связанный с ним файл app.config? –
Работает ли конечная точка TCP? –
Можете ли вы опубликовать полную конфигурацию клиента и интерфейс службы? – Rajesh