WPF

시작(WPF)
응용 프로그램 개발
WPF 기본 사항
액세스 가능성
컨트롤
데이터
문서
그래픽 및 멀티미디어
전역화 및 지역화
마이그레이션 및 상호 운용성
보안(WPF)
샘플(WPF)
일반 참조(WPF)
클래스 라이브러리(WPF)
도구(WPF)

출처 : HOONS.NET

'C#.NET > C#' 카테고리의 다른 글

(Linq) linq to xml  (0) 2017.04.14
(Linq) linq T Type Join result T Type  (0) 2017.04.14
(WPF) wpf 관련 리소스 정리  (0) 2017.04.13
(WPF) 챨스패졸드 책 정리  (0) 2017.04.13
(.NET) async, await 비동기 샘플 코드  (0) 2017.04.13
(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13

1

2

 

3. 컨텐트

* SizeToContent = SizeToContent.WidthAndHeight; : 컨텐트에 맞춰서 창을 조정한다.

 

* 이미지 삽입

            Uri uri = new Uri(http://www.charlespetzold.com/PetzoldTattoo.jpg);

            // Uri uri = new Uri("pack://application:,,,/1439813578408.jpg"); - 솔루션내의 이미지 가져오기
            BitmapImage bitmap = new BitmapImage(uri);
            Image img = new Image();
            img.Source = bitmap;
            Content = img;

 

- Uri uri = new Uri(System.IO.Path.Combine(Environment.GetEnvironmentVariable("windir"), "Gone Fishing.bmp"));

 

* TextBlock

            TextBlock txt = new TextBlock();
            txt.FontSize = 32; // 24 포인트
            txt.Inlines.Add("This is some ");
            txt.Inlines.Add(new Italic(new Run("italic")));
            txt.Inlines.Add(" text, and this is some ");
            txt.Inlines.Add(new Bold(new Run("bold")));
            txt.Inlines.Add(" text, and let's cap it off with some ");
            txt.Inlines.Add(new Bold(new Italic(new Run("bold italic"))));
            txt.Inlines.Add(" text.");
            txt.TextWrapping = TextWrapping.Wrap;
            Content = txt;

 

4. 버튼

Button btn = new Button();
btn.Content = "_Click me, please!";

이상태에서 alt+c 를 누르면 단축키로 활용이 가능하다  _ 를 넣으면 된다.

- Command

            Button btn = new Button();

            btn.HorizontalAlignment = HorizontalAlignment.Center;
            btn.VerticalAlignment = VerticalAlignment.Center;
            btn.Command = ApplicationCommands.Paste;
            btn.Content = ApplicationCommands.Paste.Text;

            Content = btn;

            // Command와 이벤트 핸들러의 바인딩
            CommandBindings.Add
            (
                new CommandBinding
                (
                    ApplicationCommands.Paste,
                    PasteOnExecute,
                    PasteCanExecute
                )
            );
        void PasteOnExecute(object sender, ExecutedRoutedEventArgs args)
        {
            Title = Clipboard.GetText();
        }

        void PasteCanExecute(object sender, CanExecuteRoutedEventArgs args)
        {

            // 클립보드에 있는 내용이 문자인지 확인하여 문자면 버튼을 활성화 한다.
            args.CanExecute = Clipboard.ContainsText();
        }

 

- CheckBox, ToggleButton

ToggleButton btn = new ToggleButton();
btn.SetBinding(ToggleButton.IsCheckedProperty, "Topmost"); // 체크발생시 Topmost 값을 변경한다.

//  어떤 Window의 Topmost 프로퍼티를 참조하는지 따로 알 수 없기 때문에 버튼의 DataContext 프로퍼티에 Window 객체를 지정해야 한다.
btn.DataContext = this;

Content = btn;
ToolTip tip = new ToolTip();
tip.Content = "Toggle the button on to make the window topmost on the desktop";
btn.ToolTip = tip; 

 

 

'C#.NET > C#' 카테고리의 다른 글

(Linq) linq T Type Join result T Type  (0) 2017.04.14
(WPF) wpf 관련 리소스 정리  (0) 2017.04.13
(WPF) 챨스패졸드 책 정리  (0) 2017.04.13
(.NET) async, await 비동기 샘플 코드  (0) 2017.04.13
(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13
(WCF) .net CORE WCF  (0) 2017.04.13

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Caller();
            Console.ReadLine();
        }

        async static private void memethodAsync(int count)
        {
            Console.WriteLine("C");
            Console.WriteLine("D");

            await Task.Run(async () =>
            {
                for (int i = 1; i <= count; i++)
                {
                    Console.WriteLine(i.ToString());

                }
            }
            );
            Console.WriteLine("G");
            Console.WriteLine("H");
        }


        static void Caller()
        {
            Console.WriteLine("A");
            Console.WriteLine("B");

            memethodAsync(5);

            Console.WriteLine("E");
            Console.WriteLine("F");
        }
   
   
    }
}


결과


A
B
C
D
E
F
1
2
3
4
5
G
H

 

'C#.NET > C#' 카테고리의 다른 글

(WPF) wpf 관련 리소스 정리  (0) 2017.04.13
(WPF) 챨스패졸드 책 정리  (0) 2017.04.13
(.NET) async, await 비동기 샘플 코드  (0) 2017.04.13
(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13
(WCF) .net CORE WCF  (0) 2017.04.13
(WCF) Setting  (0) 2017.04.13

http://mobilism.tistory.com/entry/이펙티브-C-요점-정리

'C#.NET > C#' 카테고리의 다른 글

(WPF) 챨스패졸드 책 정리  (0) 2017.04.13
(.NET) async, await 비동기 샘플 코드  (0) 2017.04.13
(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13
(WCF) .net CORE WCF  (0) 2017.04.13
(WCF) Setting  (0) 2017.04.13
(WCF) Transaction 전달  (0) 2017.04.13
WCF

'C#.NET > C#' 카테고리의 다른 글

(.NET) async, await 비동기 샘플 코드  (0) 2017.04.13
(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13
(WCF) .net CORE WCF  (0) 2017.04.13
(WCF) Setting  (0) 2017.04.13
(WCF) Transaction 전달  (0) 2017.04.13
(WCF) 통신 로그 남기기  (0) 2017.04.13
WCF
cd "C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation"
ServiceModelReg.exe -i
cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
ServiceModelReg.exe -i

WCF 를 사용하기 위해 사전에 작업해야한다.

대부분 비쥬얼 스튜디오를 제대로 깔고 했다면 문제 없지만 간혹 문제가 생길때 처리하면 된다.

아래는 내가 직접 실행한 내용.. 길다..

 

C:\Users\강준>cd..
C:\Users>cd ..
C:\>cd Windows
C:\Windows>cd Microsoft.NET
C:\Windows\Microsoft.NET>cd Framework64
C:\Windows\Microsoft.NET\Framework64>cd v3.0
C:\Windows\Microsoft.NET\Framework64\v3.0>cd "Windows Communication Foundation"
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>Servi
ceModelReg.exe /?
Microsoft(R) Windows Communication Foundation 설치 유틸리티
[Microsoft (R) Windows (R) Communication Foundation, 버전 3.0.4506.5420]
Copyright (c) Microsoft Corporation. 모든 권리 보유.
단일 시스템에서 Windows Communication Foundation의
설치 및 제거를 관리하는 관리 유틸리티
사용법:
    ServiceModelReg.exe [-i[r | ru] | -u | -ua | -r | -s:<path> | -sn:<path>
    | -k:<path> | -kn:<path> | -lv | -lk | -vi] [-y] [-x] [-q | -v] [-nologo]
    [-?]
 -i         - 이 Windows Communication Foundation 버전을 설치하고
              IIS 메타베이스 루트의 스크립트 맵 및 루트 아래의 모든 스크립트 맵
              업데이트합니다. 낮은 버전의 기존 스크립트 맵이 이 버전으로
              업데이트됩니다.
 -ir        - 이 Windows Communication Foundation 버전을 설치하고,
              등록만 합니다. IIS에 Windows Communication Foundation
              스크립트 맵을  설치하지 않습니다.
 -iru       - 이 Windows Communication Foundation 버전을 설치합니다.
              기존 응용 프로그램이 Windows Communication Foundation을 사용하면,
              IIS의 해당 스크립트 맵은 업데이트하지 않습니다.
 -u         - 이 Windows Communication Foundation 버전을 제거합니다.
              이 버전에 대한 기존 스크립트 맵은 시스템에 설치되어 있는
              남은 Windows Communication Foundation 중 가장 높은 버전으로
              다시 매핑됩니다.
 -ua        - 시스템에서 모든 Windows Communication Foundation 버전을
              제거합니다.
 -r         - 이 Windows Communication Foundation 버전을 다시 설치하고
              IIS 메타베이스 루트의 스크립트 맵 및 루트 아래의 모든 스크립트 맵
              업데이트합니다. 원래 버전과 상관 없이 기존 스크립트 맵은 이 버전으
              업그레이드됩니다.
 -x         - Windows Communication Foundation
              사용자 지정 동작 스크립트를 이 설치 동작의 일부로서 포함합니다.
 -s:<path>  - 지정한 경로에 이 Windows Communication Foundation
              버전에 대한 스크립트 맵을 재귀적으로 설치합니다.
              예: ServiceModelReg.exe -s:W3SVC/1/ROOT/SampleApp1
 -sn:<path> - 지정한 경로에 이 Windows Communication Foundation
              버전에 대한 스크립트 맵을 비재귀적으로 설치합니다.
 -k:<path>  - 지정한 경로에서 모든 Windows Communication Foundation
              버전에 대한 모든 스크립트 맵을 재귀적으로 제거합니다.
              예: ServiceModelReg.exe -k:W3SVC/1/ROOT/SampleApp1
 -kn:<path> - 지정한 경로에서 모든 Windows Communication Foundation
              버전에 대한 모든 스크립트 맵을 비재귀적으로 제거합니다.
 -lv        - 시스템에 설치되어 있는 Windows Communication Foundation의
              모든 버전을 상태 및 설치 경로와 함께 나열합니다.
 -lk        - Windows Communication Foundation이 스크립트 매핑되어 있는
              모든 IIS 메타베이스 키의 경로를 버전과 함께 나열합니다.
              부모 키에서 Windows Communication Foundation 스크립트 맵을
              상속 받는 키는 표시되지 않습니다.
 -vi        - 대상 구성 요소의 설치를 확인하고 보고서를 생성합니다.
              구성 요소의 가능한 상태:  알 수 없음,
              설치되지 않음, 기본 설치 또는 사용자 지정 설치.
 -y         - 구성 요소를 제거하거나 다시 설치하기 전에
              확인을 합니까?
 -q         - 자동 모드(출력 감소).
 -v         - 자세한 정보 표시 모드.
 -nologo    - 저작권 및 배너 메시지를 표시하지 않습니다.
 -?         - 이 도움말 텍스트를 인쇄합니다.
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>Servi
ceModelReg.exe -u
Microsoft(R) Windows Communication Foundation 설치 유틸리티
[Microsoft (R) Windows (R) Communication Foundation, 버전 3.0.4506.5420]
Copyright (c) Microsoft Corporation. 모든 권리 보유.

경고:  Windows Communication Foundation 구성 요소 세트를 제거하려고 합니다.
Windows Communication Foundation 구성이 필요한 기존 응용 프로그램이 손상될 수 있습니다.
영향을 받는 구성 요소:
        Machine.config 섹션 그룹 및 처리기(WOW64)
        Machine.config 섹션 그룹 및 처리기
        System.Web 빌드 공급자(WOW64)
        System.Web 컴파일 어셈블리(WOW64)
        HTTP 처리기(WOW64)
        HTTP 모듈(WOW64)
        System.Web 빌드 공급자
        System.Web 컴파일 어셈블리
        HTTP 처리기
        HTTP 모듈
        net.tcp 프로토콜에 대한 프로토콜 노드(WOW64)
        net.tcp 프로토콜에 대한 TransportConfiguration 노드(WOW64)
        net.tcp 프로토콜에 대한 ListenerAdapter 노드
        net.tcp 프로토콜에 대한 프로토콜 노드
        net.tcp 프로토콜에 대한 TransportConfiguration 노드
        net.pipe 프로토콜에 대한 프로토콜 노드(WOW64)
        net.pipe 프로토콜에 대한 TransportConfiguration 노드(WOW64)
        net.pipe 프로토콜에 대한 ListenerAdapter 노드
        net.pipe 프로토콜에 대한 프로토콜 노드
        net.pipe 프로토콜에 대한 TransportConfiguration 노드
        net.msmq 프로토콜에 대한 프로토콜 노드(WOW64)
        net.msmq 프로토콜에 대한 TransportConfiguration 노드(WOW64)
        net.msmq 프로토콜에 대한 ListenerAdapter 노드
        net.msmq 프로토콜에 대한 프로토콜 노드
        net.msmq 프로토콜에 대한 TransportConfiguration 노드
        msmq.formatname 프로토콜에 대한 프로토콜 노드(WOW64)
        msmq.formatname 프로토콜에 대한 TransportConfiguration 노드(WOW64)
        msmq.formatname 프로토콜에 대한 ListenerAdapter 노드
        msmq.formatname 프로토콜에 대한 프로토콜 노드
        msmq.formatname 프로토콜에 대한 TransportConfiguration 노드
        HTTP 모듈(WAS)
        HTTP 처리기(WAS)
계속하시겠습니까(Y/N)?y
제거 중: Machine.config 섹션 그룹 및 처리기(WOW64)
제거 중: Machine.config 섹션 그룹 및 처리기
제거 중: System.Web 빌드 공급자(WOW64)
제거 중: System.Web 컴파일 어셈블리(WOW64)
제거 중: HTTP 처리기(WOW64)
제거 중: HTTP 모듈(WOW64)
제거 중: System.Web 빌드 공급자
제거 중: System.Web 컴파일 어셈블리
제거 중: HTTP 처리기
제거 중: HTTP 모듈
제거 중: net.tcp 프로토콜에 대한 프로토콜 노드(WOW64)
제거 중: net.tcp 프로토콜에 대한 TransportConfiguration 노드(WOW64)
제거 중: net.tcp 프로토콜에 대한 ListenerAdapter 노드
제거 중: net.tcp 프로토콜에 대한 프로토콜 노드
제거 중: net.tcp 프로토콜에 대한 TransportConfiguration 노드
제거 중: net.pipe 프로토콜에 대한 프로토콜 노드(WOW64)
제거 중: net.pipe 프로토콜에 대한 TransportConfiguration 노드(WOW64)
제거 중: net.pipe 프로토콜에 대한 ListenerAdapter 노드
제거 중: net.pipe 프로토콜에 대한 프로토콜 노드
제거 중: net.pipe 프로토콜에 대한 TransportConfiguration 노드
제거 중: net.msmq 프로토콜에 대한 프로토콜 노드(WOW64)
제거 중: net.msmq 프로토콜에 대한 TransportConfiguration 노드(WOW64)
제거 중: net.msmq 프로토콜에 대한 ListenerAdapter 노드
제거 중: net.msmq 프로토콜에 대한 프로토콜 노드
제거 중: net.msmq 프로토콜에 대한 TransportConfiguration 노드
제거 중: msmq.formatname 프로토콜에 대한 프로토콜 노드(WOW64)
제거 중: msmq.formatname 프로토콜에 대한 TransportConfiguration 노드(WOW64)
제거 중: msmq.formatname 프로토콜에 대한 ListenerAdapter 노드
제거 중: msmq.formatname 프로토콜에 대한 프로토콜 노드
제거 중: msmq.formatname 프로토콜에 대한 TransportConfiguration 노드
제거 중: HTTP 모듈(WAS)
제거 중: HTTP 처리기(WAS)
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>Servi
ceModelReg.exe -i
Microsoft(R) Windows Communication Foundation 설치 유틸리티
[Microsoft (R) Windows (R) Communication Foundation, 버전 3.0.4506.5420]
Copyright (c) Microsoft Corporation. 모든 권리 보유.

설치 중: Machine.config 섹션 그룹 및 처리기(WOW64)
설치 중: Machine.config 섹션 그룹 및 처리기
설치 중: System.Web 빌드 공급자(WOW64)
설치 중: System.Web 컴파일 어셈블리(WOW64)
설치 중: HTTP 처리기(WOW64)
설치 중: HTTP 모듈(WOW64)
설치 중: System.Web 빌드 공급자
설치 중: System.Web 컴파일 어셈블리
설치 중: HTTP 처리기
설치 중: HTTP 모듈
설치 중: net.tcp 프로토콜에 대한 프로토콜 노드(WOW64)
설치 중: net.tcp 프로토콜에 대한 TransportConfiguration 노드(WOW64)
설치 중: net.tcp 프로토콜에 대한 ListenerAdapter 노드
설치 중: net.tcp 프로토콜에 대한 프로토콜 노드
설치 중: net.tcp 프로토콜에 대한 TransportConfiguration 노드
설치 중: net.pipe 프로토콜에 대한 프로토콜 노드(WOW64)
설치 중: net.pipe 프로토콜에 대한 TransportConfiguration 노드(WOW64)
설치 중: net.pipe 프로토콜에 대한 ListenerAdapter 노드
설치 중: net.pipe 프로토콜에 대한 프로토콜 노드
설치 중: net.pipe 프로토콜에 대한 TransportConfiguration 노드
설치 중: net.msmq 프로토콜에 대한 프로토콜 노드(WOW64)
설치 중: net.msmq 프로토콜에 대한 TransportConfiguration 노드(WOW64)
설치 중: net.msmq 프로토콜에 대한 ListenerAdapter 노드
설치 중: net.msmq 프로토콜에 대한 프로토콜 노드
설치 중: net.msmq 프로토콜에 대한 TransportConfiguration 노드
설치 중: msmq.formatname 프로토콜에 대한 프로토콜 노드(WOW64)
설치 중: msmq.formatname 프로토콜에 대한 TransportConfiguration 노드(WOW64)
설치 중: msmq.formatname 프로토콜에 대한 ListenerAdapter 노드
설치 중: msmq.formatname 프로토콜에 대한 프로토콜 노드
설치 중: msmq.formatname 프로토콜에 대한 TransportConfiguration 노드
설치 중: HTTP 모듈(WAS)
설치 중: HTTP 처리기(WAS)
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>
C:\Windows\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation>cd ..

C:\Windows\Microsoft.NET\Framework64\v3.0>cd ..
C:\Windows\Microsoft.NET\Framework64>cd v4.0.30319
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>ServiceModelReg.exe -ia
Microsoft (R) WCF/WF 등록 도구 버전 4.5.0.0
Copyright (c) Microsoft Corporation. All rights reserved.
한 시스템에서 WCF 및 WF 구성 요소의
설치와 제거를 관리하는 관리 유틸리티입니다.
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[SC] ChangeServiceConfig2 성공
[경고]'StartService'을(를) 호출하지 못했습니다('NetTcpPortSharing' 서비스). 오류
 코드: 0x8007041d
[경고]종속성이 시작되지 않아 NetTcpActivator를 시작할 수 없습니다.
[경고]'StartService'을(를) 호출하지 못했습니다('NetPipeActivator' 서비스). 오류
코드: 0x8007041d
[경고]'StartService'을(를) 호출하지 못했습니다('NetPipeActivator' 서비스). 오류
코드: 0x8007041d
[경고]'StartService'을(를) 호출하지 못했습니다('NetTcpPortSharing' 서비스). 오류
 코드: 0x8007041d
[오류]'StartService'을(를) 호출하지 못했습니다('NetTcpActivator' 서비스). 오류
코드: 0x8007042c
[경고]HTTP 네임스페이스 예약이 이미 존재합니다.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

'C#.NET > C#' 카테고리의 다른 글

(.NET) 이펙티브 C# - 요점 정리  (0) 2017.04.13
(WCF) .net CORE WCF  (0) 2017.04.13
(WCF) Setting  (0) 2017.04.13
(WCF) Transaction 전달  (0) 2017.04.13
(WCF) 통신 로그 남기기  (0) 2017.04.13
(WCF) 서비스 서버단에서 접속한 Client IP 가져오기  (0) 2017.04.13
WCF

 

'C#.NET > C#' 카테고리의 다른 글

(WCF) .net CORE WCF  (0) 2017.04.13
(WCF) Setting  (0) 2017.04.13
(WCF) Transaction 전달  (0) 2017.04.13
(WCF) 통신 로그 남기기  (0) 2017.04.13
(WCF) 서비스 서버단에서 접속한 Client IP 가져오기  (0) 2017.04.13
(WCF) IIS vs WinForm 속도 비교  (0) 2017.04.13
WCF
 

MSDN

<system.serviceModel>
  <diagnostics>
    <messageLogging 
         logEntireMessage="true" 
         logMalformedMessages="true"
         logMessagesAtServiceLevel="true" 
         logMessagesAtTransportLevel="false"
         maxMessagesToLog="3000"
         maxSizeOfMessageToLog="20000"/>
  </diagnostics>
</system.serviceModel>
contig 상에 설정을 통해 통신시 주고 받은 데이터 및 통신 에러 에대한 추적이 가능하다.

xml 파일이 아닌 svclog 확장자로 파일 로그를 남기면 Microsoft Service Trace Viewer 로 확인이 가능하다.

'C#.NET > C#' 카테고리의 다른 글

(WCF) Setting  (0) 2017.04.13
(WCF) Transaction 전달  (0) 2017.04.13
(WCF) 통신 로그 남기기  (0) 2017.04.13
(WCF) 서비스 서버단에서 접속한 Client IP 가져오기  (0) 2017.04.13
(WCF) IIS vs WinForm 속도 비교  (0) 2017.04.13
(Entity) Code First 마이그레이션  (0) 2017.04.13
WCF

OperationContext ctx = OperationContext.Current;
string sessionID = ctx.SessionId;

var context = OperationContext.Current;
var prop = context.IncomingMessageProperties;
var endpoint = prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;

string ipText = endpoint.Address;
Console.WriteLine("★IPADDRESS: " + ipText + ", SESSIONID : " + sessionID);

서버에 wcf 를 이용한 서비스를 하나는 IIS 에 하나는 winform 으로 띄웠다

 

그리곤 부하테스트를 진행해 보았다

 

결과는...

 

WinForm 이 승리...

 

IIS 설정은 다 무제한으로 했다 그래서 IIS 에 어떤 제한이 걸려서 패배한것 같진 않다.

 

추측이지만 IIS 설정과 WCF 설정이 먼가 잘 안맞는것 같다... 도대채 멀따라가는건지.. 두군데다 똑같은 설정도 있고

 

IIS 가 관장하는 부분과 WCF 가 관장하는 부분이 어디까지인지 원 알수가 없다... MS 사람들도 와서 설명했지만 명확하지 않았다는...

 

하지만 Winform 으로 했을때엔 only WCF 가 관장해서 그런건지.. 속도도 빠르고 손실률이 거의 없다.

 

winform 이 IIS 보다 속도는 4배 정도 빠르다.

 

그런데 배포문제가 .... IIS 는 따로 Process 를가지고 새로운 버전에 대한 배포가 용이하나

 

winform 은 서비스를 중단해야하는 상황이...

 

★ 추가....@@@ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★

 

부하 테스트를 서버PC (완전 좋은 PC) 에서 수행해본 결과

(이전에는 로컬 컴퓨터에서 했다.)

 

뚜둥...

 

IIS 가 이겼다 헐;;;ㅋ

 

우선 Entity 가 메모리를 많이 잡아 먹는다는 걸 알았다 메모리가 충분하면 Entity 도 빠르게 동작한다.ㅋ

 

대신 Entity ConnectionString 에 Max Pool Saze 가 default 가 100 이라서 이부분을 늘려서 하니 모두 성공~~!!!

 

원인은 너무 간단한데 있었다..

 

다만 IIS 에서 어플리케이션 풀 설정중에 worker process 수가 default 가 1인데 이렇게 하면 cpu 를 전체중에서 반만 사용한다..

 

그래서 2,,3,,, 으로 늘려본 결과 조금씩 전체를 쓰기시작했고 cpu 활용률도 높아졌다. 그런데 이상한건 수행시간은 동일하다는거...

 

참 알수없네..

 

 

+ Recent posts