728x90
300x250

[ASP.NET MVC5] Visual Studio 2012에서 ASP.NET MVC 5 구동하기

 

Visual Studio 2012는 기본적으로 ASP.NET MVC4를 지원한다.

기본 템플릿(Template)을 사용한다면, 문제가 되지 않는다.

하지만 프로젝트를 진행하다 보면, NuGet 패키지를 사용할 경우가 생긴다.

NuGet 패키지를 통해 MVC 5로 업그레이드한 경우에는 아래와 같이 에러가 발생한다.

 


Figure 1. Error 출력 결과

 

오류가 발생하는 이유는 Web.Config에 설정된 Razor.dll과 System.Web.WebPages의 Version이 일치하지 않기 때문이다.

더불어, System.Web.Mvc와 관련된 버전 오류도 하나의 원인으로 들 수 있다.

 

단순하게 생각해보면, Version 라인이 NuGet을 통해 업그레이드되었기에 그에 맞는 Version으로 올려줄 필요가 있는 것이다.

 


1. Web.config

 

루트에 하나가 있으며, Views 폴더 내에 하나가 존재한다.

 

\Web.config

\Views\Web.config

 

두 파일의 2.0.0.0으로 된 버전을 3.0.0.0으로 변경해주고, 하나는 4.0.0.0으로 되어있는 부분을 5.1.0.0으로 변경해주면 된다.

 

 

 

 

 


2. 참고자료(Reference)

1. http://blog.aliencube.org/ko/2014/03/31/running-asp-net-mvc-5-application-in-visual-studio-2012/, 접속일자 2014-08-24

반응형
728x90
300x250

[ASP.NET] C# 환경에서 URL 호출 - HttpWebResponse, HttpWebRequset

 

System.Net을 이용하여 처리하는 방법도 있겠으며, External URL에 관한 처리 방법은 다양합니다.
Stream으로 외부 URL을 원격으로 호출하는 방법에 관해 소개하겠습니다.

 


1. 구현

 

Namespace 선언

System.Text;

System.IO;

System.Web;

 

대상 URL 선언

string TargetURL = http://외부주소/index.do;

 

HttpWebRequest의 선언

HttpWebRequest gomRequest = (HttpWebRequest)WebRequest.Create(TargetURL);

 

HttpWebResponse의 선언

HttpWebResponse ckResponse = (HttpWebResponse)gomRequest.GetResponse();

 

응용) C# 환경에서 URL을 호출하여 Stream으로 받는 예제

 

Java 환경에서 URLConnection 과 같은 기능을 구현해보게 되었다.

특정 URL로 POST 방식으로 호출을 한 후 응답을 String 받는 기능을 수행한다.

HttpWebResponse 객체를 이용하여 Java의 URLConnection 와 동일하게 이용한다.

 

 

StringBuilder postParams = new StringBuilder();

postParams.Append("id=" + "abcd");

postParams.Append("&pw=" + "1234");

 


Encoding encoding = Encoding.UTF8;

byte[] result = encoding.GetBytes(postParams.ToString());

 


// 타겟이 되는 웹페이지 URL

string Url = "http://localhost:8080/MavenEULI/index.do";    //~~~~/login.php;  //수정해주세요.

HttpWebRequest wReqFirst = (HttpWebRequest)WebRequest.Create(Url);

 // HttpWebRequest 오브젝트 설정

 


wReqFirst.Method = "POST";

wReqFirst.ContentType = "application/x-www-form-urlencoded";

wReqFirst.ContentLength = result.Length;

 

 

 

Stream postDataStream = wReqFirst.GetRequestStream();

postDataStream.Write(result, 0, result.Length);

postDataStream.Close();

HttpWebResponse wRespFirst = (HttpWebResponse)wReqFirst.GetResponse();

 


// Response의 결과를 스트림을 생성합니다.

Stream respPostStream = wRespFirst.GetResponseStream();

StreamReader readerPost = new StreamReader(respPostStream, Encoding.UTF8);

 


// 생성한 스트림으로부터 string으로 변환합니다.

string resultPost = readerPost.ReadToEnd();

 


txt1.Text = resultPost;

 

 


2. 참고자료(Reference)

 

1. MSDN - HttpWebResponse 클래스, http://msdn.microsoft.com/ko-kr/library/system.net.httpwebresponse(v=vs.110).aspx, 접속일자 2013-12-16

2. MSDN - HttpWebRequest - 클래스를 사용하여 데이터 전송, http://msdn.microsoft.com/ko-kr/library/debx8sh9(v=vs.110).aspx, 접속일자 2013-12-16

반응형
728x90
300x250

[ASP.NET] OLE DB Provider for SQL Server

 

ADO로의 처리를 위한 SQL Server의 접속선언자에 관한 요약입니다.

 

1. 표준 선언(Standard Security)

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "User Id=MyUsername;Password=MyPassword;");

 

2. 신뢰성 연결(Windows NT 통합 인증)

strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
        "Initial Catalog=MyDatabaseName;"
        "Integrated Security=SSPI;");

 

3. 이름 인스턴스의 형태(SQL Server 2000부터 지원하는 방법)

Data Source=ServerName\Instance Name

strConnect = _T("Provider=sqloledb;Data source=MyServerName\MyInstanceName;"
 "Initial Catalog=MyDatabaseName;User ID=MyUsername;Password=MyPassword;");

 

4. (Local)로의 선언

   (자기 자신(로컬 서버)을 대상으로 하는 선언)

strConnect = _T("Provider=sqloledb;Data Source=(local);"
        "Initial Catalog=myDatabaseName;"
        "User ID=myUsername;Password=myPassword;");

 

5. 원격 접속 방법

strConnect = _T("Provider=sqloledb;Network Library=DBMSSOCN;"
        "Data Source=130.120.110.001,1433;"
        "Initial Catalog=MyDatabaseName;User ID=MyUsername;"
        "Password=MyPassword;");

 

외부포트로의 선언 형태 : "Data Source=127.0.0.1,1433;"

기본포트의 경우(포트 형태 생략가능) : "Data Source=127.0.0.1;"

 


참고자료

1. http://www.codeproject.com/Articles/2304/ADO-Connection-Strings

 

반응형
728x90
300x250

[ASP.NET] 서버가 읽을 수 있는 형태로 Server.UrlPath.Encode()

 

한글이 깨지거나 하는 일부의 문제는 서버가 읽을 수 있는 형태로 변환되지 않은 문자를 처리할 때, 발생합니다.

 

이 글에서는 문자에 관한 형태는 자세히 소개하지 않습니다.


기초적으로 EUC-KR이라는 것을 소개하자면, 한글을 처리하기 위한 인코딩 규격입니다.

 

UTF-8가 탄생한 내력을 간단히 논하자면, 인코딩을 얼마나 빠르게 처리할 것인가를 놓고 이야기를 할 수 있습니다.
통신에서 문자를 어떤 규칙을 가지고 처리해야 안정 있게 처리할 것인지에 관한 이야기라고도 볼 수 있겠습니다.

 

우리의 문자는 컴퓨터가 해석하기엔 논리의 정보들의 뭉치일 겁니다.

이러한 상황을 가정할 때, 한글 어가 깨지는 것은 당연히 발생할 수밖에 없습니다.

왜냐 간단합니다.

 

ASCII 코드는 표준 인코딩 방식의 하나로서 ASCII에서는 0~127로 구성된 자료에서 한글을 바로 표현하는 건 문자에 관한 변환 과정을 전혀 하지 않고 구현할 수 없습니다.

 

여러 이유가 많이 있겠지만, 핵심은 문자열을 컴퓨터가 이해할 수 있는 형태 그리고 출력할 수 있는 형태로 변환을 제대로 하지 못해서 발생하는 것이라고 정리할 수 있겠습니다.


 


1. 구현

 Server.UrlPath.Encode()

 

Server.UrlPath.Encode()를 이용하여 문자를 서버가 이해할 수 있는 변환(Encode / 복호화)을 할 수 있습니다.

반응형
728x90
300x250

[ASP.NET] Response.TransmitFile에 관한 소개

 

Microsoft 기술자료 812406 "RPB: Response WriteFile Cannot Download a Large file"에서 언급하였습니다.

-> http://support.microsoft.com/kb/812406


파일을 메모리에 버퍼링하지 않고 HTTP Request Output Stream에서 직접 처리하게 해줍니다. 이 기술은 .NET Framework 2.0부터 지원합니다.

-> http://msdn.microsoft.com/en-us/library/12s31dhy(v=vs.80).aspx

 

하드웨어의 부하를 최소화하여 다운로드를 할 수 있도록 해줍니다.

 


1. Response.TransmitFile로 파일 처리하기

 

Response.ContentType = "images/jpeg";

Response.AppendHeader("Content-Disposition", "Attachment;filename=파일명.jpg");

Response.TransmitFile(@"D:\Test\곰돌이.jpg");

 

http://localhost:11111/test.aspx를 실행한다고 가정하면,

 

다운로드 창이 뜰겁니다.

파일명.jpg를 다운로드할 것인지 물어볼 겁니다.

 

즉, 웹 페이지 상에서 사용자가 요청에 의한 처리를 서버 메모리가 아닌 사용자가 요청한 프로세스에서 처리할 수 있도록 하는 방법이라고 할 수 있습니다.

 

 


2. 참고자료(Reference)

 

1. http://blog.ntils.com/archive/200706, Accessed by 2013-12-09

 

반응형
728x90
300x250

[ASP.NET] Eval에 조건문 사용하기

 

데이터바인딩 Eval 함수에 조건문 사용하는 방법입니다.


이 글은 ASP.NET 4으로 작성하였습니다.


1. 구현

 

 IF(condition){

}ELSE{

}

 

 

이런 꼴로는 작성할 수 없습니다.

이유는 디자인 형태로 작성한 것에 대해서는 함수를 작성할 수 없기 때문입니다.

 

<%# Eval(데이터바인딩명)?참:거짓 %>

 

이와 같은 꼴로 조건문을 작성할 수 있습니다.

반응형
728x90
300x250

[ASP.NET] ASPX 페이지에 웹서비스 구현

 

예전에 ([ASP.NET] 웹 서비스 구현 하기(Ajax) - JQuery(JSON)으로 호출 - Hello World 2011/01/26 19:38)라는 글을 올린 적이 있습니다.


이번엔 앞전 글에 이어서 기존의 방식과는 달리(웹 서비스-ASMX) 자기 자신을 웹 서비스로 호출하는 방법에 관하여 강의를 하고자 합니다.

 


1. 구현

 

using System.Web.Services;

 

[WebMethod]

 

 

이와 같은 꼴로 정의해서 사용하면 되겠습니다.

반응형
728x90
300x250
[ASP.NET] 문자열 일자 정보 날짜의 형태로 표시하기

2013-11-28 오전 12:00:00


이런 꼴로 문자열 날짜가 되어있을 때, 날짜의 형태를 yyyy-MM-dd 꼴로 바꾸는 방법에 대해 소개 하겠습니다.
이 글은 ASP.NET 4로 작성되었습니다.


1. 구현

string sValue = "2013-11-28 오전 12:00:00";
String.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(sValue));

 

이처럼 사용하면, 문자열 날짜 정보를 쉽게 다양한 날짜 형태로 나타낼 수 있습니다.

 

Convert.ToDateTime()이라는 명령어는 날짜형 자료로 변환해주는 기능을 수행하는 명령어입니다.

String은 문자 정의 함수를 의미하며 Format은 String의 형태를 바꿔주는 명령을 수행합니다.

반응형

+ Recent posts