Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование OracleDataReader в [WebMethod] / 15 сообщений из 15, страница 1 из 1
29.12.2004, 15:25
    #32849980
HoTicE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
почему вот так работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
[WebMethod]
public DataSet getStreet(string stStName) 
{
	OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
	OracleCommand cmd = conn.CreateCommand();
	cmd.CommandType = CommandType.StoredProcedure;
	cmd.CommandText = "PRIVATE_RECEPTION.PKG_SPR.get_street";
	cmd.Parameters.Add("t_streetName", OracleType.VarChar, 30 ).Value = stStName;
	cmd.Parameters.Add(new OracleParameter("t_cr", OracleType.Cursor)).Direction = ParameterDirection.Output;

	OracleDataAdapter adapter = new OracleDataAdapter();
	adapter.SelectCommand = cmd;
			
	DataSet ds = new DataSet();
			
	adapter.Fill(ds);
	ds.Tables[ 0 ].TableName="streets";
	return ds;
}
а вот так нет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[WebMethod]
public OracleDataReader getStreet(string stStName) 
{
	OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
	OracleCommand cmd = conn.CreateCommand();
	cmd.CommandType = CommandType.StoredProcedure;
	cmd.CommandText = "PRIVATE_RECEPTION.PKG_SPR.get_street";
	cmd.Parameters.Add("t_streetName", OracleType.VarChar, 30 ).Value = stStName;
	cmd.Parameters.Add(new OracleParameter("t_cr", OracleType.Cursor)).Direction = ParameterDirection.Output;

	conn.Open();
	OracleDataReader Rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);

	return Rd;
}
???
...
Рейтинг: 0 / 0
29.12.2004, 15:57
    #32850082
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
В чем именно проблема? Что значит "не работает"? Не компилируется? Выкидывает исключение? Или еще что?
...
Рейтинг: 0 / 0
29.12.2004, 16:07
    #32850114
HoTicE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
компилится нормально.
но вот когда заходишь на 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.
Server Error in '/websrv' 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) + 106 
   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 'getStreetResult'.]
   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 nw.getStreet 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) + 1951 
   System.Web.Services.Description.ProtocolReflector.Reflect() + 506 
   System.Web.Services.Description.ServiceDescriptionReflector.ReflectInternal(ProtocolReflector[] reflectors) + 495 
   System.Web.Services.Description.ServiceDescriptionReflector.Reflect(Type type, String url) + 175 
   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  
...
Рейтинг: 0 / 0
29.12.2004, 16:21
    #32850159
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
Похоже из-за этого -

CommandBehavior.CloseConnection.
...
Рейтинг: 0 / 0
29.12.2004, 16:45
    #32850229
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
врядли ...

DataSet это объект типа MBV с интерфейсом IXmlSerializable, а DbDataReader - MBR, причем не поддерживающий сериализацию.
...
Рейтинг: 0 / 0
29.12.2004, 17:07
    #32850291
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
Действительно. Вы пытаетесь вернуть объект типа OracleDataReader, который несериализуем. А веб-метод возвращает сериализованные объекты.
...
Рейтинг: 0 / 0
29.12.2004, 17:45
    #32850393
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
кузяврядли ...

DataSet это объект типа MBV с интерфейсом IXmlSerializable, а DbDataReader - MBR, причем не поддерживающий сериализацию.

SqlDataReader тоже вроде не поддерживает сериализацию -

Код: plaintext
1.
public sealed class SqlDataReader : MarshalByRefObject,
   IEnumerable, IDataReader, IDisposable, IDataRecord

А такой код, как у спрашивающего, прокатывает -

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
        [WebMethod]
        public SqlDataReader getStreet() 
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "***;packet size=4096";
            SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_anek", conn);
            
            conn.Open();
            SqlDataReader Rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return Rd;
        }

с таким вызовом -

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
	class Class1
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
            Service1 s = new Service1();
		    SqlDataReader sdr = s.getStreet();
            while (sdr.Read())
            {
                Console.WriteLine(sdr[2].ToString());
            }

		}
	}
}
...
Рейтинг: 0 / 0
29.12.2004, 17:49
    #32850405
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
Т.е. дело и не в отсутствии поддержки сериализации и не в закрытиии соединения. Тут что-то другое.
...
Рейтинг: 0 / 0
29.12.2004, 18:15
    #32850469
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
Однако возвращать ДатаРидер из веб-метода ИМХО плохая практика.
...
Рейтинг: 0 / 0
29.12.2004, 18:44
    #32850510
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
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" ???
...
Рейтинг: 0 / 0
29.12.2004, 19:20
    #32850542
кузя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
а для VS 2005 и framework 2.0 еще хлеще :)
такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebServiceBinding(ConformanceClaims=WsiClaims.BP10,EmitConformanceClaims = true)]
public class Service : System.Web.Services.WebService 
{
    [WebMethod]
    public SqlDataReader HelloWorld() 
    {
      SqlConnection dc = new SqlConnection(@"Initial Catalog=TestDB;Data Source=STORAGE;Integrated Security=SSPI;");
      dc.Open();
      SqlCommand cm = new SqlCommand("SELECT * FROM t1", dc);
      SqlDataReader rd = cm.ExecuteReader(CommandBehavior.CloseConnection);
      return rd;
    }
}

и такое сообщение об ошибке
так выглядит ошибка в 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
...
Рейтинг: 0 / 0
30.12.2004, 07:19
    #32850734
HoTicE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
Я, впринципе, чего добивался - я хотел получить аналог CursorType = adOpenForwardOnly - просто в некоторых местах мне нжно только прочитать данные и выдать их списком. Думал выиграть по производительности...
может есть другие способы.
...
Рейтинг: 0 / 0
30.12.2004, 07:33
    #32850742
HoTicE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
hDrummer
А такой код, как у спрашивающего, прокатывает -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
        [WebMethod]
        public SqlDataReader getStreet() 
        {
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "***;packet size=4096";
            SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_anek", conn);
            
            conn.Open();
            SqlDataReader Rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return Rd;
        }

с таким вызовом -

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
	class Class1
	{
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
            Service1 s = new Service1();
		    SqlDataReader sdr = s.getStreet();
            while (sdr.Read())
            {
                Console.WriteLine(sdr[2].ToString());
            }

		}
	}
}


у меня есть вот так
Код: 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.
namespace DBTier {
	using System;
	using System.Configuration;
	using System.Data;
	using System.Data.OracleClient;
	
	public class userPackage {
		
		public OracleDataReader GetUserInfo(String tLogin,String tPass) {
			OracleConnection conn = new OracleConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
	
			OracleCommand cmd = conn.CreateCommand();
			cmd.CommandType = CommandType.StoredProcedure;
	
			cmd.CommandText = "PRIVATE_RECEPTION.PKG_USERS.get_user";
			cmd.Parameters.Add("t_login", OracleType.VarChar).Value = tLogin;
			cmd.Parameters.Add("t_pass", OracleType.VarChar).Value = tPass;
			cmd.Parameters.Add(new OracleParameter("t_cr", OracleType.Cursor)).Direction = ParameterDirection.Output;

            conn.Open();
			OracleDataReader Rd = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            return Rd;
		}
		
	}
}
потом компилется dll, в global.asax
Код: plaintext
<%@ Import Namespace="DBTier" %>
потом в файле _users.ascx
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<%@ Control Language="C#" Debug="true"%>
<%@ import Namespace="System.Data.OracleClient" %>
<%@ outputcache duration="3600" varybyparam="None" %>
<script runat="server">

    public String log, pas;
    
    void Page_Load(Object sender, EventArgs e)
    {
        log = "login"; pas = "pass";
        
        DBTier.userPackage tUser = new DBTier.userPackage();
        
        MyList.DataSource = tUser.GetUserInfo(log,pas);
	    MyList.DataBind();

	}
</script>
я использую подобную конструкцию на серверной стороне, на кленте пользуюсь созданым webservice.
но это не webmethod.
...
Рейтинг: 0 / 0
30.12.2004, 09:49
    #32850893
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
возможно, ты Web сервисный проект подключаешь через локальную ссылку, а не через "Add Web Reference" ???

да, так и есть. поторопился (
...
Рейтинг: 0 / 0
31.12.2004, 07:57
    #32852292
HoTicE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование OracleDataReader в [WebMethod]
То что я написал - работает на сервере и только на сервере
обращение к базе идет без использования вэб-сервиса.
Вэб-сервис используется только на клиенте.
Только так я добился того что пользователю ненужно ничего кроме браузера.

серверная сторона - стандартная трехзвенка.
вэб-форма<->контролс с бизнеслогикой<->компонент доступа к бд<->бд

клиент - javascript <-(http запросы на Xml Вэб-сервис)->XmlWebService<->бд

Правда работает только в IE - опера не может создать activeX
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
NetScape ругается навсе что толькоможно - невидит ни процедур обработки нажатий и ругается вот так
Код: plaintext
1.
2.
Error: redeclaration of function SOAPResponse
Source File: http://localhost/includes/reception.js
Line:  1 
или вот так
Код: plaintext
Error: visitorSName_onKeyUP is not defined

Ну и возвращаясь к теме топика
почитал MSDN - Для работы с Xml подходит только DataSet, потому как DataReader не поддерживает сериализацию и может использоваться только для возвращения скалярного выражения (это касается вэб-сервиса). Но если очень нужно DataReader, то можно в самом коде Вэб-сервиса Пройтись по DataReader и нарисовать Xml самому - но это IMHO уже изврат.
Оставил DataSet.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Использование OracleDataReader в [WebMethod] / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]