★ 특정 문자가 들어간 쿼리 찾기 ★
SELECT       *  FROM 
      INFORMATION_SCHEMA.ROUTINES 
WHERE 
      ROUTINE_DEFINITION LIKE '%Admin%' 
ORDER BY ROUTINE_NAME;


(1) ASP.NET <-> MySQL ( https://blog.naver.com/titetoto123/221340254753 )

(2) Unity <-> ASP.NET ( https://blog.naver.com/titetoto123/221343429335 )




★ Unity -> ASP.NET 요청 ★


> 더 보기

    public void Test()

    {

        StartCoroutine(RequestTest());

    }


    IEnumerator RequestTest()

    {

        WWWForm form = new WWWForm();

        form.AddField("id", "20");


        UnityWebRequest www = UnityWebRequest.Post("http://localhost:59751/api/UseridsByWWWForm", form);

        yield return www.SendWebRequest();


        if(www.isNetworkError || www.isHttpError)

        {

            Debug.LogError( "http://localhost:59751/api/UseridsByWWWForm : " + www.error );

        }

        else

        {

            Debug.LogError( "http://localhost:59751/api/UseridsByWWWForm : " + www.downloadHandler.text );

        }

    }



★ ASP.NET. Unity 요청 받는 부분 ★


> 더 보기

[Route("api/UseridsByWWWForm")]

[HttpPost]

public IHttpActionResult GetProductByWWWForm()

{

HttpContextWrapper httpContext = (HttpContextWrapper)Request.Properties["MS_HttpContext"];

string foo = httpContext.Request.Form["id"];

Int64 i64PersonID = Int64.Parse(foo);


var product = userInfos.FirstOrDefault((p) => p.m_i64PersonID == i64PersonID);

if (product == null)

{

return NotFound();

}




★ ASP.NET -> MySQL DB 프로시저 호출 ★



> 더 보기


[Route("api/UseridsByWWWForm")]

[HttpPost]

public IHttpActionResult GetProductByWWWForm()

{

HttpContextWrapper httpContext = (HttpContextWrapper)Request.Properties["MS_HttpContext"];

string foo = httpContext.Request.Form["id"];

Int64 i64PersonID = Int64.Parse(foo);


var product = userInfos.FirstOrDefault((p) => p.m_i64PersonID == i64PersonID);

if (product == null)

{

return NotFound();

}


            // DB 테스트

            OdbcConnection connect;

            try

            {

                using(connect = new OdbcConnection( ConfigurationManager.ConnectionStrings["MySQLConnStr"].ConnectionString ))

                {

                    connect.Open();


                    OdbcCommand cmd = new OdbcCommand("{CALL P_User_Info_Add(?,?,?)}", connect);   

                    cmd.CommandType = System.Data.CommandType.StoredProcedure;  

                    cmd.Parameters.AddWithValue("ParamUserID", foo);  

                    cmd.Parameters.AddWithValue("ParamPassword", foo);  

                    cmd.Parameters.AddWithValue("ParamUUID", foo);  

                    cmd.ExecuteNonQuery();  


                    if(connect.State == System.Data.ConnectionState.Open)

                    {

                        connect.Close();

                    }

                }

            }

            catch(Exception ex)

            {

                return Ok("DB Error");

            }


return Ok(product);

}




★ 프로시저 및 결과 ★






 



★ ASP.NET 에서 MySQL 연결하기 ★


1. ODBC 3.51 설치 

- Asp.net C#에서 MySQL 을 사용하기 위해 Connector/ODBC 다운 후 설치

- 다른 버전을 사용하면 에러가 난다


2. Web.config 파일에 connectionString 추가

<connectionStrings>

    <add name="MySQLConnStr" connectionString="DRIVER={MySQL ODBC 3.51 Driver}; Server=localhost; Database=MySQL; Uid=userid; Pwd=password"/>

  </connectionStrings>




 


3. 코드 작성

using System.Data.Odbc;




4. 결과 확인


★세션( Session) ★

-1. 서버 - 클라이언트마다 하나의 세션이 생성된다

-2. Session 파괴 이전에 클라이언트가 요청을 보내면, 세션이 유지되는 상태이다

-3. 세션 정보는 서버의 메모리에 저장된다. (쿠키:클라의 하드에 저장된다)

-4. 세션을 많이 사용하면 사용자마다 메모리를 사용하기때문에 좋지 않다


★세션( Session) 값 사용 ★

- Session["Key"] : 해당 Key 에 저장하는 것은 Session 마다 저장된다

- 해당 세션이 끊기면 해당 값들도 사라진다


★ 세션 ID 전달 방법 ★

쿠키 사용 : 쿠키에 세션 ID에 포함되어 전달

URL 포함 : URL 에 세션 ID 를 포함하여 전달한다


★ 세션 속성과 메서드 ★

Count : 세션 상태 항복 컬렉션의 항목 수 반환

IsCookieless : 세션 ID 를 전달하는 방법을 선택(쿠키 또는 URL)

IsNewSession : 세션을 현재 요청으로 만들었는지 여부

Keys : 세션 상태 항복 컬렉션에 저장된 모든 값의 키 컬렉션 반환

Mode : 현재 세션 상태 모드 반환

SessionID : 세션의 고유한 세션 식별자 반환

TimeOut : 세션 지속 시간을 분 단위로 반환

Abandon : 현재 세션 종료

Clear : 세션 상태 항목 컬렉션 모든 값 삭제


★ 세션 사용법 ★

- 저장 -
 


- 사용 -


★ 세션 모드 ★

InProc 모드 : 세션 정보를 프로세스에 저장

Off 모드 : 세션을 사용하지 않겠다

SQLServer 모드 : 세션 정보를 DB 에 저장한다



★ 쿠키 파일 ★

- 웹 브라우저와 관련 된 내용을 웹 사용자의 하드디스크에 저장하는 정보이다


★ 쿠키 사용법 - 웹 사용자 하드에 저장 ★

- Response Cookie 에 정보를 담아 웹 사용자 하드에 저장해둔다





★ 쿠키 사용법 - 웹 사용자 쿠키 정보 사용 ★

★ 페이지들 사이의 정보 전달 ★

- 페이지가 이동하면서 정보 이동의 필요가 있기 때문]


★ PreviousPage 사용조건 ★

- Button 컨트롤 PostBackUrl 설정 -

(1) 다음 페이지로 이동할때 PreviousPage 키워드 사용 가능

(2) 버튼 클릭시 PostBackUrl 에 설정된 페이지로 이동


★ Button PostBackUrl 설정 ★

- 버튼 클릭시 해당 url 로 이동



★ PreviousPage 사용 ★
 



★ 이전 페이지 컨트롤 값 사용법 ★


★ 뷰 상태 - ViewState ★

- 현재 페이지에 대한 정보를 저장한다

- 페이지가 갱신되거나 할때 사용


★ 뷰상태 사용법 ★

ViewState["변수이름"] = 값


- 코드 -



- 결과 -

★ 웹컨트롤 VS HTML 서버 컨트롤 ★

표준 웹 컨트롤

- HTML 서버 컨트롤 보다 표준 웹 컨트롤 (권장 O)

- 간편한 UI 제공

-일관된 객체 모델 제공

- 결과에 대한 조정


HTML 서버 컨트롤 

- 이전 버전과 호환 및 마이그레이션 을 위해 사용 (권장 X)


  준(웹컨트롤)             HTML 서버 컨트롤
           





★ AdRotator : 배너 광고 ★


AdvertisementFile : 광고 정보를 포함한 XML 파일 지정

KeywordFilter : Keyword 를 이용하여 XML 로 광고 정보를 필터링할 때 사용하는 KeyWord 지정

Target : 광고와 연결된 URL 이 가리키는 페이지를 보여줄 frame 을 지정한다


1. XML 파일 생성 추가 및 태그 설정

- NavigateUrl : 이미지 클릭 시 이동할 Url

 


2. AdRotator 추가 및 속성 설정

- AdvertisementFile : XML 연결

- Target : blank

 



3. 결과

- Adrotator 웹 사이트



- 클릭 시 이동
 



★ 유효성 검사 컨트롤 ★


 


RequiredFieldValidator : 입력 내용이 빈 문자열이 아니면 유효한 데이터로 인정

RangeValidator : 입력 내용이 범위 이내이면 데이터로 인정

CompareValidator : 다른 입력 컨트롤에 있는 값 또는 특정 값과 비교하여 만조하면 데이터 인정

RegularExpressionValidator : 정규 표현식에 정의된 패턴을 따르면 데이터 인정

CustomValidator : 개발자가 작성한 유효성 검사와 부합하면 데이터 인정

ValidationSummary : 데이터에 대한 유효성 검사 결과를 모아 출력하는 역할










★ Global.asax 파일 ★

: 모든 페이지에서 동작한다


★ 1. Global.asax 추가 ★




★ 2. 각 이벤트 처리에 따른 코딩 ★



★ 3. 결과 ★

+ Recent posts