Portfolio.Web 1.0.0.0
.NET, Blazor, WPF와 서비스 운영 경험을 프로젝트·이력·기술 스택 단위로 보여주는 개발자 포트폴리오입니다.
로딩중...
검색중...
일치하는것 없음
PortfolioApp.Views.MainWindow 클래스 참조

더 자세히 ...

PortfolioApp.Views.MainWindow에 대한 상속 다이어그램 :
PortfolioApp.Views.MainWindow에 대한 협력 다이어그램:

Public 멤버 함수

 MainWindow (DreamineBlazorServerHostOptions serverOptions)

Private 멤버 함수

async void OnLoaded (object sender, RoutedEventArgs e)

정적 Private 멤버 함수

static async Task NavigateAsync (WebView2 webView, string baseUrl, string expectedInstanceId, string path="/", int timeoutMs=15000, int intervalMs=500)

Private 속성

readonly DreamineBlazorServerHostOptions _serverOptions

상세한 설명

Main Window 기능과 관련 상태를 캡슐화합니다.

MainWindow.xaml.cs 파일의 18 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ MainWindow()

PortfolioApp.Views.MainWindow.MainWindow ( DreamineBlazorServerHostOptions serverOptions)
inline

지정한 설정으로 MainWindow 클래스의 새 인스턴스를 초기화합니다.

매개변수
serverOptionsserver Options에 사용할 DreamineBlazorServerHostOptions 값입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

MainWindow.xaml.cs 파일의 54 번째 라인에서 정의되었습니다.

55 {
56 _serverOptions = serverOptions ?? throw new ArgumentNullException(nameof(serverOptions));
57 InitializeComponent();
58
59 if (DesignerProperties.GetIsInDesignMode(this)) return;
60
61 Loaded += OnLoaded;
62 }

다음을 참조함 : _serverOptions, OnLoaded().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ NavigateAsync()

async Task PortfolioApp.Views.MainWindow.NavigateAsync ( WebView2 webView,
string baseUrl,
string expectedInstanceId,
string path = "/",
int timeoutMs = 15000,
int intervalMs = 500 )
inlinestaticprivate

Navigate Async 작업을 수행합니다.

매개변수
webViewweb View에 사용할 WebView2 값입니다.
baseUrlbase Url에 사용할 string 값입니다.
expectedInstanceIdexpected Instance Id에 사용할 string 값입니다.
pathpath에 사용할 string 값입니다.
timeoutMstimeout Ms에 사용할 int 값입니다.
intervalMsinterval Ms에 사용할 int 값입니다.
반환값
Navigate Async 작업에서 생성한 Task 결과입니다.

MainWindow.xaml.cs 파일의 161 번째 라인에서 정의되었습니다.

163 {
164 var targetUrl = $"{baseUrl}{path}";
165 var instanceUrl = $"{baseUrl}/_dreamine/instance";
166 try
167 {
168 await Task.Delay(1200);
169
170 using var cts = new CancellationTokenSource(timeoutMs);
171 using var http = new HttpClient();
172 var alive = false;
173
174 while (!cts.IsCancellationRequested)
175 {
176 try
177 {
178 var id = await http.GetStringAsync(instanceUrl, cts.Token);
179 if (string.Equals(id.Trim(), expectedInstanceId, StringComparison.Ordinal))
180 { alive = true; break; }
181 }
182 catch (HttpRequestException) { }
183 catch (TaskCanceledException) { }
184
185 await Task.Delay(intervalMs, cts.Token);
186 }
187
188 if (!alive)
189 {
190 await HybridWebViewHost.ShowOfflineMessageAsync(webView, targetUrl);
191 return;
192 }
193
194 webView.Source = new Uri(targetUrl);
195 }
196 catch (TaskCanceledException) { }
197 }

다음에 의해서 참조됨 : OnLoaded().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnLoaded()

async void PortfolioApp.Views.MainWindow.OnLoaded ( object sender,
RoutedEventArgs e )
inlineprivate

Loaded 이벤트 또는 상태 변경을 처리합니다.

매개변수
sender이벤트를 발생시킨 객체입니다.
e이벤트와 관련된 데이터를 포함합니다.

MainWindow.xaml.cs 파일의 88 번째 라인에서 정의되었습니다.

89 {
90 var webView = HybridWebViewHost.CreateWebView();
91 WebViewHost.Child = webView;
92
93 await NavigateAsync(webView, $"http://localhost:{_serverOptions.Port}",
94 _serverOptions.InstanceId, "/admin");
95 }

다음을 참조함 : _serverOptions, NavigateAsync().

다음에 의해서 참조됨 : MainWindow().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _serverOptions

readonly DreamineBlazorServerHostOptions PortfolioApp.Views.MainWindow._serverOptions
private

server Options 값을 보관합니다.

MainWindow.xaml.cs 파일의 28 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : MainWindow(), OnLoaded().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: