急,创建 web service对象时,提示“配置系统未能初始化”,怎么回事?

时间:2021-01-09 19:40:39
我在同一个解决方案下创建了 asp.net 工程和windows form 工程。在asp.net 工程中创建了 webservice,用于给 winform 提供用户登录验证。

前两天还好好的,今天重启机器之后,在 winform 程序中调用 webservice 对象的构造器时,提示“配置系统未能初始化”,不知道这种错误该如何查起了。

10 个解决方案

#1


错误信息如下:

   在 System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   在 System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)
   在 System.Configuration.ConfigurationManager.GetSection(String sectionName)
   在 System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
   在 System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
   在 System.Diagnostics.DiagnosticsConfiguration.Initialize()
   在 System.Diagnostics.Switch.InitializeConfigSettings()
   在 System.Diagnostics.Switch.InitializeWithStatus()
   在 System.Diagnostics.Switch.get_SwitchSetting()
   在 System.Diagnostics.BooleanSwitch.get_Enabled()
   在 System.Xml.Serialization.TempAssembly.LoadGeneratedAssembly(Type type, String defaultNamespace, XmlSerializerImplementation& contract)
   在 System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type)
   在 System.Web.Services.Protocols.SoapClientType..ctor(Type type)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
   在 EastDragon.OnLine.LogonManager..ctor() 位置 E:\src\EastDragon\Web References\OnLine\Reference.cs:行号 39
   在 EastDragon.FrmLogon.btnLogon_Click(Object sender, EventArgs e) 位置 E:\src\EastDragon\FrmLogon.cs:行号 96

#2


看看你的App.config文件是否存在及该文件是否损坏!

#3


app.config 文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>
</appSettings>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="EastDragon.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <EastDragon.Properties.Settings>
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
        </EastDragon.Properties.Settings>
    </applicationSettings>
</configuration>


这个文件应该没有被损坏,因为在创建 web service 对象之前还访问过它的:
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

string url = config.AppSettings.Settings["WebService_LogonManager"].Value;

#4


<applicationSettings>
        <EastDragon.Properties.Settings>
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
        </EastDragon.Properties.Settings>
    </applicationSettings>
-------------------------------------
将“<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>”进行上述改写,可能构造器中使用<applicationSettings>中的信息

#5


帮顶.

#6


请问楼上的,应该怎么改啊,我对这个结构一点都不清楚

#7


应该怎么改啊
--------------------------------
构造器使用
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
来访问webservice,
而不是2003中的
<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>
或许和这个有关,确认setting节点中的url资源可用

#8


楼上的是说构造器从上面提的这个节中取得 webservice 的地址,而不用我另外加设置?
或者说,只要发布时修改了这个值,就可以使它webservice 指向我设置的 url?

#9


只要发布时修改了这个值,就可以使它webservice 指向你设置的 url
这个和vs2003一样吧

#10


好象 VS2003 的web service 客户端不一定有 app.config文件

#1


错误信息如下:

   在 System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   在 System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)
   在 System.Configuration.ConfigurationManager.GetSection(String sectionName)
   在 System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName)
   在 System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
   在 System.Diagnostics.DiagnosticsConfiguration.Initialize()
   在 System.Diagnostics.Switch.InitializeConfigSettings()
   在 System.Diagnostics.Switch.InitializeWithStatus()
   在 System.Diagnostics.Switch.get_SwitchSetting()
   在 System.Diagnostics.BooleanSwitch.get_Enabled()
   在 System.Xml.Serialization.TempAssembly.LoadGeneratedAssembly(Type type, String defaultNamespace, XmlSerializerImplementation& contract)
   在 System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type)
   在 System.Web.Services.Protocols.SoapClientType..ctor(Type type)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol..ctor()
   在 EastDragon.OnLine.LogonManager..ctor() 位置 E:\src\EastDragon\Web References\OnLine\Reference.cs:行号 39
   在 EastDragon.FrmLogon.btnLogon_Click(Object sender, EventArgs e) 位置 E:\src\EastDragon\FrmLogon.cs:行号 96

#2


看看你的App.config文件是否存在及该文件是否损坏!

#3


app.config 文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>
</appSettings>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="EastDragon.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <EastDragon.Properties.Settings>
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
        </EastDragon.Properties.Settings>
    </applicationSettings>
</configuration>


这个文件应该没有被损坏,因为在创建 web service 对象之前还访问过它的:
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

string url = config.AppSettings.Settings["WebService_LogonManager"].Value;

#4


<applicationSettings>
        <EastDragon.Properties.Settings>
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
        </EastDragon.Properties.Settings>
    </applicationSettings>
-------------------------------------
将“<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>”进行上述改写,可能构造器中使用<applicationSettings>中的信息

#5


帮顶.

#6


请问楼上的,应该怎么改啊,我对这个结构一点都不清楚

#7


应该怎么改啊
--------------------------------
构造器使用
            <setting name="EastDragon_OnLine_LogonManager" serializeAs="String">
                <value>http://localhost:81/LogonManager.asmx</value>
            </setting>
来访问webservice,
而不是2003中的
<add key="WebService_LogonManager" value="http://kaifa03:81/LogonManager.asmx"/>
或许和这个有关,确认setting节点中的url资源可用

#8


楼上的是说构造器从上面提的这个节中取得 webservice 的地址,而不用我另外加设置?
或者说,只要发布时修改了这个值,就可以使它webservice 指向我设置的 url?

#9


只要发布时修改了这个值,就可以使它webservice 指向你设置的 url
这个和vs2003一样吧

#10


好象 VS2003 的web service 客户端不一定有 app.config文件