#c# #wpf #visual-studio #web-services #entity-framework
#c# #wpf #visual-studio #веб-сервисы #entity-framework
Вопрос:
Я разрабатываю приложение MVC с использованием Visual Studio 2010.
Я создал 3 проекта: 1- библиотека dll, 2- веб-сервис, 3- приложение WPF
Внутри dll у меня есть Entity Framework 4, который будет использоваться веб-сервисом для получения данных и отправки их в приложение WPF.
Моя проблема в том, что: я получаю ошибку «Исключение ArgumentException не было обработано пользовательским кодом» при попытке вызвать функцию, которая создает экземпляр модели данных объекта из веб-сервиса.
Я создал консольный проект (для целей тестирования) в том же решении и добавил ссылку на библиотеку dll и скопировал App.Config в этот проект, и он заработал. Но когда я делаю то же самое с веб-сервисом, я всегда получаю одну и ту же ошибку.
Помогите, пожалуйста
Комментарии:
1. Вы указываете общее сообщение об ошибке, которое не является информативным. Можете ли вы сообщить нам текст сообщения об ошибке, который следует после текста исключения аргумента? Возможно, простое переименование App.config в Web.config решит проблему.
2. Это ошибка, которую я получаю: i.imgur.com/EZjHZ.png
3. Загляните внутрь исключения (смотрите подробно) и проверьте имя исходного файла и номер строки, это должно показать вам, где было вызвано исключение. Один из аргументов некоторого базового кода неверен. И добавьте эту ссылку к вопросу, а не только в качестве комментария!
4. Это указывает мне на это: используя (var context = new EntityDataModelContainer()) { … } в проекте библиотеки dll. Чего я не могу понять: я сделал то же самое с консольным приложением, и это сработало, почему это не работает в веб-сервисе?
5. вам необходимо предоставить больше информации, например, код, значения параметров во время этого сбоящего кода и т.д… Мы не можем догадаться, что там происходит
Ответ №1:
Да, нашел это.
Веб-сервис считывает Web.config
файл, поэтому бесполезно копировать App.config
в такого рода проекты, как (ASP.NET веб-сайты или веб-сервисы) это будет работать только для настольных приложений (консоль, WinForms, WPF, …).
Решение :
Скопируйте содержимое App.config из .dll и вставьте его в файл Web.config, вот так :
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="EntityDataModelContainer" ... />
</connectionStrings>
</configuration>