Я пытаюсь попробовать DBLinq с помощью поставщика sqlite внутри простой службы ASP.NET . Я также использую MonoDevelop 2.4 и Mono 2.6.7, проект в monodevelop ссылается на файл DbLinq.dll, который по умолчанию установлен в Локальная копия. Я могу скомпилировать веб-сервис просто отлично. Когда я пытаюсь выполнить , запустите его из Monodevelop или используя xsp2 из командной строки, xsp2 с ошибкой (см. Ниже). Если я снял флажок Local Copy для ссылки DBLinq.dll, выполняется xsp2, но часть Linq кода не работает. Это справедливо и для провайдера MySQL. Я думаю, что проблема заключается в том, когда DbLinq ссылается и локально копируется, он также копирует зависимые сборки , и одна из сборок заставляет xsp2 задыхаться.Ссылка Dblinq в ASP.NET Web Service на MonoDevelop вызывает ошибку xsp2
С кем это столкнулось? Как я могу исправить проблему или что такое обходное решение ? Любая помощь очень ценится. Ниже приведен образец фрагмента метода webservice в коде asmx.
[WebMethod]
общественного строка getrecord() {string txt = string.Empty; using(DataContext context = new DataContext("DbLinqProvider=Sqlite; Data Source=openemr.db")) { var addrtbl = context.GetTable<Addresses>(); var addr = from a in addrtbl select a; foreach(var i in addr) { txt += i.City ; txt += "; "; } }
возвращение TXT;
}
Конечно, это не может быть хорошим способом для осуществления доступа к данным и необходимо отделить проблемы. Но для целей тестирования этот должен по крайней мере работать.
Вот ошибка, которую я получаю при запуске xsp2. Как я сказал выше, одна из зависимых сборок , которую DbLinq ссылается и копирует локально, составляет , в результате чего это происходит. Мой вопрос: как лучше всего исправить это, так работает ?
пользователь @ Ubuntu: ~/Проекты/WebService/WebService $ xsp2 --address 127.0.0.1 --port 8889
** (/usr/lib/mono/2.0/xsp2.exe:2566) : ВНИМАНИЕ **: Отсутствует метод System.Web.Configuration.WebConfigurationManager :: get_AppSettings() в сборки /usr/lib/mono/gac/System.Web/2.0.0.0_ b03f5f7f11d50a3a/ System.Web.dll, ссылки в сборке /usr/lib/mono/gac/Mono.Web/ 2.0.0.0 _0738eb9f132ed756/Mono.Web.dll
** (/usr/lib/mono/2.0/xsp 2.exe: 2566): ПРЕДУПРЕЖДЕНИЕ **: Отсутствует метод System.Configuration.ConfigurationProperty ::. Ctor (string, Type, object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) в сборке/home/eellory/Projects/WebService/WebService/бен/ System.Configuration.dll, ссылка в сборке/USR/Lib/моно/GAC/ System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
** (/ USR/Lib/моно/2.0/xsp2.exe: 2566): ПРЕДУПРЕЖДЕНИЕ **: Отсутствует метод System.Configuration.ConfigurationProperty ::. Ctor (string, Type, object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) в сборке/home/eellory/Projects/WebService/WebService/bin/ System.Configuration.DLL, ссылки в сборке/USR/Lib/моно/GAC/ System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
** (/usr/lib/mono/2.0/xsp2.exe:2566): ПРЕДУПРЕЖДЕНИЕ **: Отсутствует метод System.Configuration.ConfigurationProperty ::. Ctor (string, Type, object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) в сборке/home/eellory/Projects/WebService/WebService/bin/ Система. Configuration.dll, ссылки в сборке/USR/Lib/моно/GAC/ System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
** (/usr/lib/mono/2.0/xsp2.exe : 2566): ПРЕДУПРЕЖДЕНИЕ **: Отсутствует метод System.Confi ginary.ConfigurationProperty ::. ctor (string, Type, object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) в сборке/home/eellory/Projects/WebService/WebService/bin/ System.Configuration.dll, ссылка на сборку/usr/lib/mono/gac/ System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll Обработка типа исключения TargetInvocationException Сообщение Исключение выбрано целью вызова. IsTerminating имеет значение True System.Reflection.TargetInvocationException: Исключение было выбрано мишенью вызова.
сервера трассировки стека: на System.Reflection.MonoCMethod.Invoke (System.Object OBJ, BindingFlags invokeAttr, System.Reflection.Binder связующего вещества, System.Object [] параметров, System.Globalization.CultureInfo культуры) [0x00000] в: 0 в System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder связующие, System.Object [] параметры, System.Globalization.CultureInfo культуры) [0x00000] в: 0 на System.Reflection.ConstructorInfo.Invoke (System.Object [] ) [0x00000] в: 0 в System.Activator.CreateInstance (тип System.Type, Boolea п Непубличная) [0x00000] в: 0 в System.Configuration.ConfigInfo.CreateInstance() [0x00000] в : 0 в System.Configuration.SectionInfo.CreateInstance() [0x00000] в : 0 в системе. Configuration.Configuration.GetSectionInstance (System.Configuration.SectionInfo конфигурации, Boolean createDefaultInstance) [0x00000] в: 0 в System.Configuration.ConfigurationSectionCollection.get_Item (System.String имя) [0x00000] в: 0 в системе. Configuration.Configuration.GetSection (System.String ) [0x00000] в: 0 в System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path, System.Web.HttpContext context) [0x00000] в: 0 в System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path) [ 0x00000] в: 0 в System.Web.Configuration.WebConfigurationManager.GetWebApplicationSection (System.String) имя раздела [0x00000] в: 0 в System.Web.Hosting.ApplicationHost.SetHostingEnvironment() [0x00000] в: 0 на System.AppDomain.DoCallBack (System.CrossAppDomainDelegate callBackDelegate) [0x00000] в: 0 в (обертка-вызова удаленной-с проверкой) System.AppDomain: DoCallBack (System.CrossAppD omainDelegate) at (обертка xdomain-отправка) система.AppDomain: DoCallBack (объект, байт [] &, байт [] &)
Исключение при вызваны повторно [0]: ---> System.TypeInitializationException: исключение брошенной типа инициализатора для системы. Web.Configuration.HostingEnvironmentSection ---> System.MissingMethodException: метод не найден: 'System.Configuration.ConfigurationProperty..ctor'. --- Конец внутренней трассировки стека исключений --- при (обертку управляемом к родным) System.Reflection.MonoCMethod: InternalInvoke (объект, объект [], System.Exception &) на System.Reflection. MonoCMethod.Invoke (System.Object OBJ, BindingFlags invokeAttr, System.Reflection.Binder связующее, System.Object [] параметры, System.Globalization.CultureInfo культура) [0x00000] в: 0 --- Конец внутреннего исключения трассировка стека --- at (wrapper xdomain-invoke) System.AppDomain: DoCallBack (System.CrossAppDomainDelegate) at (wrapper remoting-invoke-with-check) System.AppDomain: DoCallBack (System.CrossAppDomainDelegate) на System.Web.Hosting.ApplicationHost.CreateApplicationHost (System.Type hostType, System.String virtualDir, System.String physicalDir) [0x00000] в: 0 в Mono.WebServer.VPathToHost.CreateHost (Mono.WebServer.ApplicationServer сервер, Mono.WebServer.WebSource webSource) [0x00000] в: 0 в Mono.WebServer.XSP.Server.RealMain (System.String [] арг, булева корень, IApplicationHost ext_apphost, Boolean тихий) [0x00000] в : 0 в (обертка Remoting-вызова-с чеком) Mono.WebServer.XSP.Server: RealMain (строка [], BOOL, Mono.WebServer.IApplicationHost, BOOL) в Mono.WebServer.XSP.Server.Main (System.String [] арг) [0x00000] в: 0