Моно WCF выпуск на OSX - PullRequest
       6

Моно WCF выпуск на OSX

3 голосов
/ 03 января 2011

Я написал моносовместимое приложение, которое отлично работает на Windows-машине и в основном работает на моем Mac. Область, которая в настоящее время не работает, является уровнем, который использует WCF (ChannelFactory) для связи между сервером и клиентом.

Проблема возникает, когда я пытаюсь открыть ChannelFactory на сервере, вот фрагмент кода:

string address = "21"; // added this for simplicity in conveying the problem...
string server_address = "net.tcp://192.168.1.122:4505/DeviceServer/";
string serviceAddress = string.Format(server_address, address);

ThreadedServiceHost<DeviceService, IDeviceContract> DeviceHost =
            new ThreadedServiceHost<DeviceService, IDeviceContract>(serviceAddress, address, new NetTcpBinding());

EndpointAddress endPoint = new EndpointAddress(
                     new Uri(string.Format(serviceaddress, address) + address));

System.ServiceModel.Channels.Binding binding = new NetTcpBinding();

teeGlobal.ServerDeviceFactory = new ChannelFactory<IDeviceChannel>(binding, endPoint);
teeGlobal.ServerDeviceFactory.Open();

Проблема связана с вызовом .Open () - он просто зависает на моем Mac. Создание конечной точки занимает намного больше времени, чем на моем ПК (около 3-4 секунд), но я могу с этим справиться, если смогу заставить слой WCF функционировать.

Есть ли у кого-нибудь предложения о том, как решить эту проблему?

1 Ответ

2 голосов
/ 07 января 2011

Самым последним стабильным выпуском Mono является 2.8.2 (http://www.go -mono.com / mono-downloads / download.html)

Вам действительно нужно попробовать эту версию, прежде чем делать что-либо еще.Стек WCF в 2.6.x был скорее «предварительным просмотром», чем что-либо еще, и на самом деле работали только некоторые распространенные сценарии.2.8 гораздо более полный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...