Получить строку подключения из реестра для API - PullRequest
0 голосов
/ 26 сентября 2018

Я впервые создал веб-приложение в VB.Net.Сейчас я создаю мобильное приложение с использованием Ionic Framework.Язык c #.

В веб-приложении я использую, чтобы получить строку подключения от Registry добавить сохранить в сеансе.Я делал это в global.asax.

global.asax:

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

  Dim mDBConnector As String = String.Empty

  With Application
     .Add("ProductRegistryKey", "Accord 2.0")
     .Add("ProductGUID", "ea3asue4n43-mbk3-3nmn-n34n4h3j4n4n3")
     .Add("ProductId", "1")

     mDBConnector = WebHelper.GetDBConnector(Application.Item("ProductRegistryKey")

  End With
End Sub

Я не использую ни одного сеанса в своем API, так как я прочитал, что API не имеет состояния и этоне очень хорошая практикаТак как же мне добиться этого в моем API?

1 Ответ

0 голосов
/ 26 сентября 2018

Пятый DBName не существует в конфигурации строк подключения, поэтому при вызове ConfigurationManager.ConnectionStrings[DBName] возвращается null , что приведет к ошибке нулевой ссылки при попытке вызвать member для нулевого объекта,

Убедитесь, что вызываемое имя существует в web.config .

<connectionStrings>
  <!-- ... -->
  <add name="FifthDbName" ...... />
</connectionStrings>

Вы должны также выполнить некоторое защитное кодирование и проверить наличие null , прежде чем пытаться получить доступ к свойству.

var setting = ConfigurationManager.ConnectionStrings[DBName];
if(setting != null) {
    string DbConnector = setting.ConnectionString;
    bool Connection1 = DbConnector.ToLower().StartWith("metadata");
    if (Connection1 == true)
    {
      System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder 
      efBuilder = new 
      System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(DbConnector);
      DbConnector = efBuilder.ProviderConnectionString;
    }
}
//...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...