Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
почему вот так работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 15:25 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
В чем именно проблема? Что значит "не работает"? Не компилируется? Выкидывает исключение? Или еще что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 15:57 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
компилится нормально. но вот когда заходишь на asmx страничку то говорит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 16:07 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
Похоже из-за этого - CommandBehavior.CloseConnection. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 16:21 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
врядли ... DataSet это объект типа MBV с интерфейсом IXmlSerializable, а DbDataReader - MBR, причем не поддерживающий сериализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 16:45 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
Действительно. Вы пытаетесь вернуть объект типа OracleDataReader, который несериализуем. А веб-метод возвращает сериализованные объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 17:07 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
кузяврядли ... DataSet это объект типа MBV с интерфейсом IXmlSerializable, а DbDataReader - MBR, причем не поддерживающий сериализацию. SqlDataReader тоже вроде не поддерживает сериализацию - Код: plaintext 1. А такой код, как у спрашивающего, прокатывает - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. с таким вызовом - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 17:45 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
Т.е. дело и не в отсутствии поддержки сериализации и не в закрытиии соединения. Тут что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 17:49 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
Однако возвращать ДатаРидер из веб-метода ИМХО плохая практика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 18:15 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
2 hDrummer это результат теста примера из предыдущего топика для SqlDataReader Server Error in '/WebService1' Application. -------------------------------------------------------------------------------- Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [NullReferenceException: Object reference not set to an instance of an object.] System.Xml.Serialization.XmlAttributes..ctor(ICustomAttributeProvider provider) +105 System.Xml.Serialization.TypeScope.GetEnumeratorElementType(Type type) +107 System.Xml.Serialization.TypeScope.ImportTypeDesc(Type type, Boolean canBePrimitive, MemberInfo memberInfo) +1463 System.Xml.Serialization.TypeScope.GetTypeDesc(Type type, MemberInfo source, Boolean directReference) +50 System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers) +34 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement) +300 [InvalidOperationException: There was an error reflecting 'HelloWorldResult'.] System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement) +607 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement) +108 System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate) +169 System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +2927 [InvalidOperationException: Method SqlService.HelloWorld can not be reflected.] System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +5494 System.Web.Services.Description.SoapProtocolReflector.ReflectMethod() +130 System.Web.Services.Description.ProtocolReflector.ReflectBinding(ReflectedBinding reflectedBinding) +1966 System.Web.Services.Description.ProtocolReflector.Reflect() +509 System.Web.Services.Description.ServiceDescriptionReflector.ReflectInternal(ProtocolReflector[] reflectors) +495 System.Web.Services.Description.ServiceDescriptionReflector.Reflect(Type type, String url) +112 System.Web.Services.Protocols.DocumentationServerType..ctor(Type type, String uri) +158 System.Web.Services.Protocols.DocumentationServerProtocol.Initialize() +269 System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +106 [InvalidOperationException: Unable to handle request.] System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) +205 System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +82 [InvalidOperationException: Failed to handle request.] System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response) +154 System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath) +94 System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, String path, String pathTranslated, Boolean useAppConfig) +699 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() +95 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +173 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET Version:1.1.4322.2032 возможно, ты Web сервисный проект подключаешь через локальную ссылку, а не через "Add Web Reference" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 18:44 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
а для VS 2005 и framework 2.0 еще хлеще :) такой код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. и такое сообщение об ошибке так выглядит ошибка в VS 2005Server Error in '/WebSite2' Application. -------------------------------------------------------------------------------- You must implement the Add(System.Object) method on System.Data.SqlClient.SqlDataReader because it inherits from IEnumerable. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.InvalidOperationException: You must implement the Add(System.Object) method on System.Data.SqlClient.SqlDataReader because it inherits from IEnumerable. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: ... -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.40607.16; ASP.NET Version:2.0.40607.16 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2004, 19:20 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
Я, впринципе, чего добивался - я хотел получить аналог CursorType = adOpenForwardOnly - просто в некоторых местах мне нжно только прочитать данные и выдать их списком. Думал выиграть по производительности... может есть другие способы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 07:19 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
hDrummer А такой код, как у спрашивающего, прокатывает - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. с таким вызовом - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. у меня есть вот так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. но это не webmethod. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 07:33 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
возможно, ты Web сервисный проект подключаешь через локальную ссылку, а не через "Add Web Reference" ??? да, так и есть. поторопился ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2004, 09:49 |
|
||
|
Использование OracleDataReader в [WebMethod]
|
|||
|---|---|---|---|
|
#18+
То что я написал - работает на сервере и только на сервере обращение к базе идет без использования вэб-сервиса. Вэб-сервис используется только на клиенте. Только так я добился того что пользователю ненужно ничего кроме браузера. серверная сторона - стандартная трехзвенка. вэб-форма<->контролс с бизнеслогикой<->компонент доступа к бд<->бд клиент - javascript <-(http запросы на Xml Вэб-сервис)->XmlWebService<->бд Правда работает только в IE - опера не может создать activeX var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); NetScape ругается навсе что толькоможно - невидит ни процедур обработки нажатий и ругается вот так Код: plaintext 1. 2. Код: plaintext Ну и возвращаясь к теме топика почитал MSDN - Для работы с Xml подходит только DataSet, потому как DataReader не поддерживает сериализацию и может использоваться только для возвращения скалярного выражения (это касается вэб-сервиса). Но если очень нужно DataReader, то можно в самом коде Вэб-сервиса Пройтись по DataReader и нарисовать Xml самому - но это IMHO уже изврат. Оставил DataSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.12.2004, 07:57 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=985&tid=1437542]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 389ms |

| 0 / 0 |
