2017-11-03 1 views
-1

현재 데이터베이스에 연결할 정적 클래스가있는 ASP.NET MVC 응용 프로그램이 있습니다. 일부 테스트에서는 여러 세션에서 응용 프로그램을 사용하기 시작할 때 속도가 매우 느려지는 것으로 나타났습니다. 하나의 세션 만있는 경우 허용되는 방식으로 작동하지만 3 세션부터는 사용이 불가능 해집니다.ASP.Net MVC 및 데이터베이스 연결

Global.asax의 Application_Start에서 정적 연결이 시작되고 있습니다.이 연결 속도가 동일한 연결에 대한 모든 경쟁 때문인 것으로 판단됩니다. 맞습니까?

이 감안할 때, 나는 같은 동작을 변경하기로 결정,하지만 난 따라 생각하는 두 가지 방법이 있지만 가장 좋은 것 알고하는 의견 싶습니다 수립)

1 세션 연결은 Global.asax에서 시작되었지만 응용 프로그램이 거의 동시에 실행되는 특정 작업으로 인해이 접근법은 주어진 시간에 느려지기도합니다.

2) 데이터베이스에 대한 각 쿼리 동작에 대한 연결을 설정하고 연결을 인스턴스화하고 연결을 열고 작업을 실행하고 연결을 닫습니다. 그러나 일부 페이지를로드 할 때 응용 프로그램이 수행하는 많은 수의 작업으로 인해이 방법으로 연결 풀을 팝하는 것이 두려워졌습니다.

도와 주시겠습니까? 사용할 수있는 또 다른 접근 방식에 대한 비전이 있습니까?

현재 우리는 ADO.Net을 사용하고 있으며 일부 테스트에서는 단 한 명의 사용자라도 거친 속도로 NHibernate를 사용했습니다.

감사합니다. (번역 된 게시물)

+2

질문은 영어로해야합니다. https://pt.stackoverflow.com/을 시도 할 수 있습니다. –

답변

1

Entity Framework를 사용해 볼 수 있습니다.

http://www.entityframeworktutorial.net/what-is-entityframework.aspx

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

당신은 이미 당신> 당신이 필요로하는보다 새 항목을, 비주얼 스튜디오를 열기위한 모델 폴더를 선택> 추가 할 필요가 만든 응용 프로그램 (ASP.NET MVC) 및 데이터베이스가 있다고 가정 ADO.NET 엔터티 데이터 모델을 선택하십시오. 그러면 엔터티 데이터 모델 마법사가 나타납니다. 이 창에서 첫 번째 옵션 인 Ef Designer from Database를 선택하십시오. 다음을 클릭하고 db 연결 매개 변수 (db 서버, 데이터베이스 이름)를 추가하고 다음을 클릭하고 사용할 데이터베이스 (테이블, 저장 프로 시저)의 개체를 클릭 한 다음 마침을 클릭하십시오.

희망이 있습니다.

관련 문제