Getting Error The argument 'nameOrConnectionString' cannot be null, empty or contain only white space with Azure Database

牧云@^-^@ 提交于 2019-12-21 17:36:11

问题


I am having my database and other storage on azure cloud storage.i am using Entity Code first appoach but problem is when i am trying to read connection string from cloud storage using CloudConfigurationManager.GetSetting() i am getting below error:

Error:The argument 'nameOrConnectionString' cannot be null, empty or contain only white space. An exception of type 'System.ArgumentException' occurred in EntityFramework.dll but was not handled in user code

This is my Azure project:Demo.Web.Azure

It has 2 configurations file:

1)ServiceConfiguration.Cloud.cscfg:

<Role name="Demo.Web">
 <Setting name="MyConnectionString"
 value="Server=----;Database=DemoEntity;User ID=---;Password=---&amp;w;Trusted_Connection=False;
Encrypt=True;MultipleActiveResultSets=True;" />

  <Setting name="Demo.Storage"
 value="DefaultEndpointsProtocol=https;AccountName=---;AccountKey=------"
 />

2)ServiceConfiguration.Local.cscfg:

<Role name="Demo.Worker">
  <Setting name="Demo.Storage"
 value="DefaultEndpointsProtocol=https;AccountName=---;AccountKey=------"
 />

3)ServiceDefinition.csdef:

<ServiceDefinition name="Demo.Web.Azure" schemaVersion="2014-06.2.4">
      <WebRole name="RepuGuard.Web" vmsize="Small">
         <ConfigurationSettings>
                  <Setting name="MyConnectionString" />

                  <Setting name="Demo.Storage" />
                 </ConfigurationSettings>

     </WebRole>

 <WorkerRole name="Demo.Worker" vmsize="Small">
                <ConfigurationSettings>
                  <Setting name="MyConnectionString" />

                  <Setting name="Demo.Storage" />
                 </ConfigurationSettings>

 </WorkerRole>

</ServiceDefinition>

This is my Context file which read Database connection string:

public partial class MyDemoDBContext : DbContext, IDisposable
    {
           public ObjectContext Context { get; set; }
           public MyDemoDBContext()
            : base(CloudConfigurationManager.GetSetting("MyConnectionString"))//Getting Error here
           {
             Context = ((IObjectContextAdapter)this).ObjectContext;
           }
             public MyDemoDBContext (string connectionString)

            : base(connectionString)

             {

                 Context = ((IObjectContextAdapter)this).ObjectContext;

             }
}

Getting error here:

public MyDemoDBContext()
            : base(CloudConfigurationManager.GetSetting("MyConnectionString"))
           {
             Context = ((IObjectContextAdapter)this).ObjectContext;
           }

回答1:


If you have multiple projects under solution, try setting up the startup project will resolve this issue.(sry for the delay)




回答2:


A spelling error in appsettings.json caused the same System.ArgumentException for me. I discovered the string "ConnectionStrings" had turned into "CondfSnectionStrings" I dunno why. My eye just glossed over the problem until another programmer pointed it out to me.



来源:https://stackoverflow.com/questions/30047055/getting-error-the-argument-nameorconnectionstring-cannot-be-null-empty-or-con

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!