dotnet interactive 쓰면 뭘 output하던 객체정보를 일케 알아서 잘 정리해서 보여주기때문에 겁나편한데,
이 기능을 blazor에서 그대로 쓰고싶어 한동안 문서들을 뒤졌음.
DisplayExtensions.Display 라는걸 찾아내야되는데, 비슷한 이름쓰는게 많아서 헷갈림. #
Display함수는 대화형 커널과 연동된 함수여서 커널이 아닌곳에서 같다쓸수는 없었고,
여기저기 들쑤시다가, 우연히 반갑게도 커널 등과 무관하게 단독으로 객체를 html string으로 뽑아내는 함수 만들어둔걸 찾아서 웹페이지에 적용할수 있었음.
굳이 닷넷인터렉티브 라이브러리 전체를 참조하지 않아도 포맷관련 라이브러리가 분리되있는덕에,
위 함수 내용만 대충 끌어와서 종속성을 덜수 있었음. #
출력자체에도 default css가 붙어서 정리가 되있긴 한데, vscode에서처럼 보기좋게 하려면 알아서 더 꾸며줘야하는듯.
출력 내용을 커스텀하는 예제도 있는데 #
닷넷인터렉티브 및 라이브러리들이 여전히 시험판이기 때문에, 이거믿고 고도화시키긴 아직 불안하고, 대충 유틸로 편하게 써먹을수는 있게됨.
+20230622 차트출력 성공예제 # PNG바이너리uri를 출력하는거라서 웹에 친화적이진않음. 근데 다른예제는 먹질않음..
프로젝트 자체를 커스텀 커널화 시킬 방법은 아직 덜만들어진건지 제대로 찾지못함.
nuget 버전정보
<PackageReference Include="Microsoft.DotNet.Interactive" Version="1.0.0-beta.23313.2" />
<PackageReference Include="Microsoft.DotNet.Interactive.Formatting" Version="1.0.0-beta.23313.2" />
더보기
https://github.com/dotnet/interactive/blob/main/docs/pocketview.md
StateHasChanged 화면갱신이 발생할때, MarkupString의 내용이 조금이라도 바뀌면 details open정보같은거 다 날리고 새로그려버리는 문제가 생김.
blazor에 대한 종속성을 최소화하는 방편인건 좋지만 디테일한 연동이 힘든건 어쩔수없는듯
https://gall.dcinside.com/m/csharp/736