views:

49

answers:

2

When I deploy my web service, I get the following error:

There is no build provider registered for the extension '.svc'. You can register one in the section in machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value 'Web' or 'All'.

I found one thread (http://forums.asp.net/t/1228638.aspx) that suggested a solution but, I can not get it to work. If I make the changes to my web config file as suggested in the thread, I then get a configuration error. One odd thing is that, if I check the machine.config file on my machine, located at C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config, I don't see any of the config settings described in the thread. As a matter of fact, there is no mention of "compilation" or "buildProviders" at all.

The on-line documents I have found regarding BuildProviderAppliesToAttribute have not been of any help.

Thanks in advance for any advice you can give.

Here is my entire config file listing:

    <?xml version="1.0"?>  
<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>  
        <clear/>  
        <add name="connStr" connectionString="Server=myDataServerName;Database=myDatabaseName;Uid=myUserName;Pwd=myPassword" providerName="System.Data.SqlClient"/>  
        <add name="connUsers" connectionString="Server=myMembershipProviderName;Database=myOtherDatabaseName;Uid=myOtherUserName;Pwd=myOtherPassword" providerName="System.Data.SqlClient"/>  
    </connectionStrings>  
    <system.web>  
        <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>  
        <authentication mode="Forms"/>  
        <membership defaultProvider="SqlMembershipProvider">  
            <providers>  
                <clear/>  
                <add name="SqlMembershipProvider" connectionStringName="connUsers" applicationName="MyXMLService" type="System.Web.Security.SqlMembershipProvider"/>  
            </providers>  
        </membership>  
        <roleManager enabled="true" defaultProvider="SqlRoleManager">  
            <providers>  
                <clear/>  
                <add name="SqlRoleManager" connectionStringName="connUsers" applicationName="MyXMLService" type="System.Web.Security.SqlRoleProvider"/>  
            </providers>  
        </roleManager>  
        <customErrors mode="Off"/>  
        <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.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="MyDataSvc.MyData" behaviorConfiguration="MyDataSvc.MyDataBehavior">  
                <endpoint address="" binding="basicHttpBinding" contract="MyDataSvc.IMyData">  
                </endpoint>  
            </service>  
        </services>  
        <behaviors>  
            <serviceBehaviors>  
                <behavior name="MyDataSvc.MyDataBehavior">  
                    <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->  
                    <serviceDebug includeExceptionDetailInFaults="true"/>  
                </behavior>  
            </serviceBehaviors>  
        </behaviors>  
    </system.serviceModel>  
</configuration>  
A: 

I can't tell what your OS or IIS version is, that said, have you tried using the ServiceModel Registration Tool on IIS with the i switch

RandomNoob
Thank you for your response.The hosting server is running IIS 7.0. and I have enabled support for:ASP.Net Runtime Version: 2.0/3.0/3.5I doubt I will be able to run a command line tool on the hosting service, that is why I was hoping to solve this using the web.config file. But, I will look into my options on that.
rogdawg
A: 

I just got off the phone with the hosting provider (GoDaddy). They do not host web services on their shared hosting servers. So, that was the cause of the error.

I will have to use a different option.

rogdawg