Jump to content
Xtreme .Net Talk

Recommended Posts

Posted

I started a new VS 2008 solution today, and I can't for the life of me figure something out. I've created two projects in the solution, a windows client, and a webservice. The windows client calls the webservice passing it xml documents that are parsed and then logged into a database.

 

The problem is that the web service can't seem to find the web.config file. Calls to the application settings return nothing.

 

(System.Configuration.ConfigurationManager.AppSettings.Get("SQLServer").ToString)

 

What's even weirder is the calls to the Connectionstrings return something else.

 

System.Configuration.ConfigurationManager.ConnectionStrings(0).ConnectionString

 

This:

"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"

 

instead of what is REALLY in my web.config file, this:

"Data Source=BOST60;Initial Catalog=EGG;Persist Security Info=True;User ID=egg_sys;Password=xxxx" 

 

Here is the full text of my connectionstring section of my web.config.

 

    <connectionStrings>
     <add name="EGGConnectionString" connectionString="Data Source=BOST60;Initial Catalog=EGG;Persist Security Info=True;User ID=egg_sys;Password=xxxx"
         providerName="System.Data.SqlClient" />
   </connectionStrings>

 

 

What am I doing wrong?

  • Administrators
Posted

Configuration files will inherit values from 'higher up' configuration files. With .Net 2 you will find under you Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG two realted files (Machine.config and web.config) - the sqlexpress one is defined in the machine.config.

 

You could either refer to your entries by name rather than ordinal or alternatively in your web.config declare your section as

[highlight=xml]

providerName="System.Data.SqlClient" />

[/highlight]

to prevent inheriting the default ones.

Posting Guidelines FAQ Post Formatting

 

Intellectuals solve problems; geniuses prevent them.

-- Albert Einstein

Posted

I actually do refer to the connectionstring by name, (I showed the item(0) above to show what connectionstring is being found), but it is still finding that default sql express one.

 

I tried the </clear> command, but it's still picking up the default web.config. I'm running the webservice in a ASP.NET development server (e.h. localhost:2018/eggwebservice), so I don't really even understand where this other config from is from? There is no web.config in the parent folders...?

 

I don't understand at all why my web.config is being ignored like this.

  • Administrators
Posted

Even though there are none in the parent folders you will still inherit the two configuration files from the Windows\Microsoft.Net\... folder.

 

It does seem odd that it isn't picking up any settings though. Could you attach the web.config you are using (preferably with and confidential info being removed ;)) just in case it is due to an error in the file.

 

Have you tried adding a new web.config to the project as a test to see if it's values are correctly picked up?

Posting Guidelines FAQ Post Formatting

 

Intellectuals solve problems; geniuses prevent them.

-- Albert Einstein

Posted

I did try removing the web.config and adding it again, no luck.

 

Here is my web.config.

 

<?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>

   </appSettings>

   <connectionStrings>
     <clear />
     <add name="EGGConnectionString" connectionString="Data Source=BOST60;Initial Catalog=EGG;Persist Security Info=True;User ID=egg_sys;Password=XXXX"
         providerName="System.Data.SqlClient" />
   </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="false">

         <assemblies>
           <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
           <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
           <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
           <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
         </assemblies>

       </compilation>

       <!--
           The <authentication> section enables configuration 
           of the security authentication mode used by 
           ASP.NET to identify an incoming user. 
       -->
       <authentication mode="Windows" />
       <!--
           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"/>
         <add tagPrefix="asp" namespace="System.Web.UI.WebControls" 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="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"
                 type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
         <providerOption name="CompilerVersion" value="v3.5"/>
         <providerOption name="OptionInfer" value="true"/>
         <providerOption name="WarnAsError" value="false"/>
       </compiler>
     </compilers>
   </system.codedom>
   
   <!-- 
       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>
       <remove name="ScriptModule" />
       <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
     </modules>
     <handlers>
       <remove name="WebServiceHandlerFactory-Integrated"/>
       <remove name="ScriptHandlerFactory" />
       <remove name="ScriptHandlerFactoryAppServices" />
       <remove name="ScriptResource" />
       <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>

   <runtime>
     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
       <dependentAssembly>
         <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
         <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
       </dependentAssembly>
       <dependentAssembly>
         <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
         <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
       </dependentAssembly>
     </assemblyBinding>
   </runtime>

</configuration>

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...