[Mono-aspnet-list] WCF service Mono 2.10.8

Tim Nelson nelson.timothy at gmail.com
Fri Mar 9 15:54:10 UTC 2012


I am investigating move my ASP.Net (asmx) web services to WCF.  I've
created a simple service that is working well on .Net/IIS.  However,
when I deployed to a mod-mono instance running mod-mono-server4, I am
getting:

Service behavior configuration '' was not found

Description: HTTP 500. Error processing request.

Stack Trace:

System.ArgumentException: Service behavior configuration '' was not found
  at System.ServiceModel.ServiceHostBase.AddServiceBehaviors
(System.String configurationName, Boolean throwIfNotFound) [0x00000]
in <filename unknown>:0
  at System.ServiceModel.ServiceHostBase.ApplyServiceElement
(System.ServiceModel.Configuration.ServiceElement service) [0x00000]
in <filename unknown>:0
  at System.ServiceModel.ServiceHostBase.LoadConfigurationSection
(System.ServiceModel.Configuration.ServiceElement element) [0x00000]
in <filename unknown>:0
  at System.ServiceModel.ServiceHostBase.ApplyConfiguration ()
[0x00000] in <filename unknown>:0
  at System.ServiceModel.ServiceHostBase.InitializeDescription
(System.ServiceModel.UriSchemeKeyedCollection baseAddresses) [0x00000]
in <filename unknown>:0
  at System.ServiceModel.ServiceHost.InitializeDescription
(System.Type serviceType, System.ServiceModel.UriSchemeKeyedCollection
baseAddresses) [0x00000] in <filename unknown>:0
  at System.ServiceModel.ServiceHost..ctor (System.Type serviceType,
System.Uri[] baseAddresses) [0x00000] in <filename unknown>:0
  at System.ServiceModel.Channels.SvcHttpHandler.EnsureServiceHostCore
() [0x00000] in <filename unknown>:0
  at System.ServiceModel.Channels.SvcHttpHandler.EnsureServiceHost ()
[0x00000] in <filename unknown>:0
  at System.ServiceModel.Channels.SvcHttpHandler.ProcessRequest
(System.Web.HttpContext context) [0x00000] in <filename unknown>:0
  at System.Web.HttpApplication+<Pipeline>c__Iterator3.MoveNext ()
[0x00000] in <filename unknown>:0
  at System.Web.HttpApplication.Tick () [0x00000] in <filename unknown>:0
Version information: Mono Runtime Version: 2.10.5 (tarball Thu Dec 8
06:59:01 CST 2011); ASP.NET Version: 4.0.30319.1


---------------------------------------------------- Web.config BELOW
--------------------------------------------------------


<?xml version="1.0"?>
<!--
    Note: As an alternative to hand editing this file you can use the
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in
    machine.config.comments usually located in
    \Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
        <configSections>
                <sectionGroup name="system.web.extensions"
type="System.Web.Configuration.SystemWebExtensionsSectionGroup,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
                        <sectionGroup name="scripting"
type="System.Web.Configuration.ScriptingSectionGroup,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
                                <section name="scriptResourceHandler"
type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false"
allowDefinition="MachineToApplication"/>
                                <sectionGroup name="webServices"
type="System.Web.Configuration.ScriptingWebServicesSectionGroup,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
                                        <section
name="jsonSerialization"
type="System.Web.Configuration.ScriptingJsonSerializationSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false"
allowDefinition="Everywhere"/>
                                        <section name="profileService"
type="System.Web.Configuration.ScriptingProfileServiceSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false"
allowDefinition="MachineToApplication"/>
                                        <section
name="authenticationService"
type="System.Web.Configuration.ScriptingAuthenticationServiceSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false"
allowDefinition="MachineToApplication"/>
                                        <section name="roleService"
type="System.Web.Configuration.ScriptingRoleServiceSection,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false"
allowDefinition="MachineToApplication"/>
                                </sectionGroup>
                        </sectionGroup>
                </sectionGroup>
        </configSections>
        <appSettings/>
        <connectionStrings/>
        <system.web>
                <!--
            Set compilation debug="true" to insert debugging
            symbols into the compiled page. Because this
            affects performance, set this value to true only
            during development.
        -->
                <compilation debug="true">
                        <assemblies>
                                <add assembly="System.Core,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                                <add assembly="System.Web.Extensions,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                        </assemblies>
                </compilation>
                <!--
            The <authentication> section enables configuration
            of the security authentication mode used by
            ASP.NET to identify an incoming user.
        -->
                <authentication mode="Windows"/>
        <customErrors mode="Off" >
        </customErrors>
                <!--
            The <customErrors> section enables configuration
            of what to do if/when an unhandled error occurs
            during the execution of a request. Specifically,
            it enables developers to configure html error pages
            to be displayed in place of a error stack trace.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
                <pages>
                        <controls>
                                <add tagPrefix="asp"
namespace="System.Web.UI" assembly="System.Web.Extensions,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                        </controls>
                </pages>
                <httpHandlers>
                        <remove verb="*" path="*.asmx"/>
                        <add verb="*" path="*.asmx" validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                        <add verb="*" path="*_AppService.axd"
validate="false"
type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                        <add verb="GET,HEAD" path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" validate="false"/>
                </httpHandlers>
                <httpModules>
                        <add name="ScriptModule"
type="System.Web.Handlers.ScriptModule, System.Web.Extensions,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                </httpModules>
        </system.web>
        <system.codedom>
                <compilers>
                        <compiler language="c#;cs;csharp"
extension=".cs" warningLevel="4"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089">
                                <providerOption name="CompilerVersion"
value="v3.5"/>
                                <providerOption name="WarnAsError"
value="false"/>
                        </compiler>
                </compilers>
        </system.codedom>
        <system.web.extensions>
                <scripting>
                        <webServices>
                                <!--
              Uncomment this section to enable the authentication
service. Include
              requireSSL="true" if appropriate.

          <authenticationService enabled="true" requireSSL = "true|false"/>
          -->
                                <!--
              Uncomment these lines to enable the profile service, and
to choose the
              profile properties that can be retrieved and modified in
ASP.NET AJAX
              applications.

          <profileService enabled="true"
                          readAccessProperties="propertyname1,propertyname2"
                          writeAccessProperties="propertyname1,propertyname2" />
          -->
                                <!--
              Uncomment this section to enable the role service.

          <roleService enabled="true"/>
          -->
                        </webServices>
                        <!--
        <scriptResourceHandler enableCompression="true" enableCaching="true" />
        -->
                </scripting>
        </system.web.extensions>
        <!--
        The system.webServer section is required for running ASP.NET
AJAX under Internet
        Information Services 7.0.  It is not necessary for previous
version of IIS.
    -->
        <system.webServer>
                <validation validateIntegratedModeConfiguration="false"/>
                <modules>
                        <add name="ScriptModule"
preCondition="integratedMode" type="System.Web.Handlers.ScriptModule,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                </modules>
                <handlers>
                        <remove name="WebServiceHandlerFactory-Integrated"/>
                        <add name="ScriptHandlerFactory" verb="*"
path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                        <add name="ScriptHandlerFactoryAppServices"
verb="*" path="*_AppService.axd" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                        <add name="ScriptResource"
preCondition="integratedMode" verb="GET,HEAD"
path="ScriptResource.axd"
type="System.Web.Handlers.ScriptResourceHandler,
System.Web.Extensions, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35"/>
                </handlers>
        </system.webServer>
        <system.serviceModel>
                <services>
                        <service name="SOAServices.ZombieService">
                                <!-- Service Endpoints -->
                                <endpoint address=""
behaviorConfiguration="SOAServices.ZombieServiceBehavior"
binding="webHttpBinding" contract="SOAServices.IZombieService">
                                        <!--
              Upon deployment, the following identity element should
be removed or replaced to reflect the
              identity under which the deployed service runs.  If
removed, WCF will infer an appropriate identity
              automatically.
          -->

                                </endpoint>

                        </service>
                </services>
                <behaviors>
      <endpointBehaviors>
        <behavior name="SOAServices.ZombieServiceBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
                </behaviors>
        </system.serviceModel>
</configuration>


More information about the Mono-aspnet-list mailing list