2015-09-25 4 views
0

Моего WebAPI приложение, которое прекрасно работает при запуске из визуальной студии выдает следующее сообщение об ошибке при запуске на Owin себя хозяин:Самостоятельного размещения Owin WebAPI приложения не может найти строку подключения в файле web.config

«Нет строки соединения не по имени «ProductsDbContext» можно найти в файле конфигурации приложения ».

Нужна ли OWIN дополнительная настройка для доступа к файлу Web.config?

Вот мой Startup.cs:

public void Configuration(IAppBuilder appBuilder) 
    { 
     // Configure Web API for self-host. 
     var config = new HttpConfiguration(); 

     WebApiConfig.Register(config); 
     UnityConfig.RegisterComponents(config); 
     appBuilder.UseWebApi(config); 
    } 

и мой сам код хозяина:

[TestMethod] 
    public void ListScorecardSlices() 
    { 
     var baseAddress = "http://localhost:9000/"; 

     // Start OWIN host 
     using (WebApp.Start<Startup>(baseAddress)) 
     { 
      HttpClient client = new HttpClient(); 

      var response = client.GetAsync(baseAddress + "api/products(2)").Result; 
      var responseBody = response.Content.ReadAsStringAsync().Result; 
      Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); 
     } 
    } 
+0

Что находится в файле web.config и где находится метод тестирования? Для этого потребуется собственный файл конфигурации. – DavidG

+0

Метод тестирования находится в другом проекте. Благодарю. Пожалуйста, опубликуйте это как ответ. –

ответ

2

Если хостинг для вашего Owin в каком-то службе или другое, не веб-приложении (что, скорее всего, потому, что для чего еще вам нужен сам хост), тогда вам не нужен файл web.config, но файл конфигурации приложения, который имеет имя <your executable name with extension>.config. Если вы добавите файл app.config в исполняемый проект, Visual Studio автоматически разместит его с исполняемым файлом.

+0

Кажется настолько очевидным, что вы указали это. Благодарю. –