在单声道2.8.2中创建WCF服务

时间:2011-02-15 08:34:58

标签: wcf mono

我安装了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 

尝试访问在mono-2.6.7中使用的网址时。

我尝试使用mod-mono-server2和mod-mono-server4。

我试图查找这个问题,但我找不到任何东西。

有人能向我展示一个具有多个端点的mono-2.8.2或mono-2.6.7配置的WCF服务的工作示例吗?

更新:恢复到mono-2.6.7之后,上面显示的我的服务'Rest'再次工作。

先谢谢大师

由于 Tymek

2 个答案:

答案 0 :(得分:1)

问题(影响2.10)是UriTemplate / {var1} / {var2}在2.8和2.10.1中不起作用。我用UriTemplate替换它们?x = {var1}&amp; y = {var2}。不理想,但现在会为我做。

答案 1 :(得分:0)

最后一个问题非常陈旧,问题仍然发生在单声道2.10中。幸运的是,有一个新项目将WCF引入Linux。

新图书馆位于此处

https://github.com/dotnet/wcf

我将在Ubuntu中尝试它们,我将发布有关它的更新。

https://github.com/dotnet/wcf/blob/master/Documentation/building/unix-instructions.md