Создание сервисов WCF в моно 2.8.2 - PullRequest
3 голосов
/ 15 февраля 2011

У меня был установлен mono-2.6.7 и служба WCF:

<system.serviceModel>
    <behaviors>
        <endpointBehaviors>
             <behavior name="RestB"><webHttp/></behavior>
        </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service name="Rest">
        <endpoint address="" behaviorConfiguration="RestB" binding="webHttpBinding" contract="Rest" />
      </service>
    </services>
</system.serviceModel>

Это сработало.

Я хотел использовать несколько конечных точек, и я продолжал получать ошибки, как только я указал адрес, поэтому я решил попробовать моно 2.8.2.После установки 2.8.2 (после добавления serviceBehavior, на который жаловался моно), я начал получать:


"HttpListenerContext does not match any of the registered channels"
System.InvalidOperationException: HttpListenerContext does not match any of the registered channels
  at System.ServiceModel.Channels.Http.HttpListenerManager.ProcessNewContext (System.ServiceModel.Channels.Http.HttpContextInfo ctxi) [0x00000] in :0 
  at System.ServiceModel.Channels.SvcHttpHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in :0 
  at System.Web.HttpApplication+c__Iterator2.MoveNext () [0x00000] in :0 
  at System.Web.HttpApplication.Tick () [0x00000] in :0 

при попытке доступа к URL-адресам, которые работали в моно-2.6.7.

, с которыми я пыталсямод-моно-сервер2 и мод-моно-сервер4.

Я пытался найти эту проблему, но ничего не смог найти.

Может кто-нибудь показать мне рабочий пример службы WCF в конфигурации mono-2.8.2 или mono-2.6.7 с несколькими конечными точками?

ОБНОВЛЕНИЕ: После возврата к моно-2.6.7Мой сервис «Отдых», показанный выше, снова работает.

Заранее спасибо, гуру

Спасибо, Тимек

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Проблема (также затрагивающая 2.10) в том, что UriTemplate / {var1} / {var2} не работают в 2.8 и 2.10.1.Я заменил их на UriTemplate? X = {var1} & y = {var2}.Не идеально, но пока подойдет мне.

0 голосов
/ 06 июня 2016

Последний вопрос был действительно старым, и проблема все еще возникает в моно 2.10.К счастью, появился новый проект по внедрению WCF в Linux.

Новые библиотеки находятся здесь

https://github.com/dotnet/wcf

Я собираюсь попробовать их в Ubuntu и выложу обновление об этом.*https://github.com/dotnet/wcf/blob/master/Documentation/building/unix-instructions.md

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