Entity Framework-сбой базового поставщика в ConnectionString

при использовании Entity Framework я разделил его на собственный проект:

  • RivWorks.Model-Содержит Модель Сущности
  • RivWorks.Контроллер-использует модель сущности и содержит правила biz
  • RivWorks.Вид.Веб - веб-сайте!--5-->
  • RivWorks.Вид.Услуги-проект WCF

все на сайте работает нормально. Я могу позвонить в контроллер и получить действительную модель обратно. Когда я пытаюсь сделать то же самое ... вещь из интернета.Сервис я получаю эту ошибку:

ошибка:
Ошибка базового поставщика в ConnectionString.
ТРАССИРОВКА СТЕКА:
в системе.Данные.поставщик EntityClient.Объекты entityconnection.ChangeConnectionString (строка newConnectionString)
в системе.Данные.поставщик EntityClient.Объекты entityconnection..ctor (строка connectionString)
в системе.Данные.Объекты.Контекст objectcontext.CreateEntityConnection (строка connectionString)
на Система.Данные.Объекты.Контекст objectcontext..ctor (строка connectionString, строка defaultContainerName)
в RivWorks.Модель.Сущности.RivFeedsEntities1..ctor (строка connectionString)
в RivWorks.Модель.FeedStoreReadOnly..ctor (строка connectionString)
в RivWorks.Контроллер.ProductManager.LookupProduct(строка кодтовара, строки сеи строки urlRef, ОКР строку, строку пути журнала)

Я немного смущен, почему и копаясь в журналах ошибок я наконец, выяснил, что строки подключения не считываются из файла конфигурации веб-сайта. Итак, я добавил код, чтобы поймать это, и на данный момент жестко закодировал значения. Например:

public dataObjects.NegotiateSetup LookupProduct(string productID, string sku, string urlRef, string env, string logPath)
{
    string feedConnString = "";
    string rivConnString = "";

    log.InitializeLogFile(logPath);
    dataObjects.NegotiateSetup resultSet = new dataObjects.NegotiateSetup();

    try { feedConnString = AppSettings.FeedAutosEntities_connString; }
    catch { feedConnString = @"metadata=res://*/Entities.FeedEntities.csdl|res://*/Entities.FeedEntities.ssdl|res://*/Entities.FeedEntities.msl;provider=System.Data.SqlClient;provider connection string='Data Source=***.***.***.***;Initial Catalog=******;Persist Security Info=True;User ID=******;Password="******";MultipleActiveResultSets=True'"; }

    try { rivConnString = AppSettings.RivWorkEntities_connString; }
    catch { rivConnString = @"metadata=res://*/Entities.RivEntities.csdl|res://*/Entities.RivEntities.ssdl|res://*/Entities.RivEntities.msl;provider=System.Data.SqlClient;provider connection string='Data Source=******;Initial Catalog=******_Dev;Persist Security Info=True;User ID=******;Password="******";MultipleActiveResultSets=True'"; }

    try
    {
        using (RivFeedsEntities1 _dbFeed = new FeedStoreReadOnly(feedConnString).ReadOnlyEntities())
        {
            using (RivEntities _dbRiv = new RivWorksStore(rivConnString).NegotiationEntities())
            {

но, увы, он все еще дает мне вышеуказанную ошибку! Есть идеи почему?

1 ответов


Я знаю, что вы возились со своими строками подключения, чтобы санировать их, но я предполагаю, что вы не поставили "вокруг пароля?

они действительно необходимы?