Я получаю эту ошибку «Не удалось найти конечную точку с именем ...» при попытке запустить приложение Vb6, которое использует .Net dll, на который ссылается служба WCF. Уверен, что это должно быть что-то, что нужно решать с конфигурационным файлом. Поскольку файл конфигурации в dll выглядит абсолютно нормально и имеет правильные настройки конечных точек, я подозреваю, что мне может понадобиться файл app.config для приложения VB6, поскольку это приложение-вызывающее устройство, которое в идеале должно потреблять службу WCf через C# dll. Было бы здорово, если бы кто-то мог подумать о том, как это нужно решать.VB с использованием WCF: не удается найти элемент конечной точки через com wrapped C# dll
0
A
ответ
1
Я нашел ответ для этого. На основе подхода, следующего за VB6-> C# DLL-> WCF Service, служба WCF будет искать файл конфигурации для исполняющей сборки, которая в основном является VB6 exe. Это приведет к ошибке «Не удается найти элемент конечной точки ...». Поэтому, чтобы разрешить это, я вручную попытался установить свойства привязки в обернутой оболочкой C# dll и передал в объект привязки вместе с EndPointAddress конструктору службы при создании экземпляра. Ниже приведен фрагмент кода, который устанавливает свойства привязки, аналогичные свойствам файла конфигурации.
Binding.SendTimeout = TimeSpan.FromMinutes(1);
Binding.OpenTimeout = TimeSpan.FromMinutes(1);
Binding.CloseTimeout = TimeSpan.FromMinutes(1);
Binding.ReceiveTimeout = TimeSpan.FromMinutes(10);
Binding.AllowCookies = false;
Binding.BypassProxyOnLocal = false;
Binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
Binding.MessageEncoding = WSMessageEncoding.Text;
Binding.TextEncoding = System.Text.Encoding.UTF8;
Binding.TransferMode = TransferMode.Buffered;
Binding.UseDefaultWebProxy = true;
Это может быть один из возможных путей решения этой проблемы, если кто-то сталкивается с подобной проблемой.
Вы ответили на свой вопрос самостоятельно. Для исполняющего приложения требуется config, а не dll. В следующий раз попробуйте сначала ... – Rabban
Абсолютно верно. Но трудность, стоящая перед вами, находится в файле конфигурации для VB. Я поместил файл конфигурации в место, где запускается приложение VB6. Формат - VB6.exe.config, но я получаю ту же ошибку, что и раньше. Есть что-то, чего не хватает –
Я действительно не владею vb6, но, возможно, [это] (https://msdn.microsoft.com/en-us/library/aa719108 (v = vs.71) .aspx) будет пролить немного света. – Rabban