tag:blogger.com,1999:blog-60853477900850236442024-03-01T02:40:19.353-03:00Blog do Tony HenriqueUm lugar onde ocasionalmente poderei deixar alguma colocação.Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.comBlogger262125tag:blogger.com,1999:blog-6085347790085023644.post-51960650232137315842024-02-07T19:28:00.005-03:002024-02-07T19:28:26.192-03:00How To Add Google Authentication To Blazor SSR - Codewrinkles<p>How To Add Google Authentication To Blazor SSR - Codewrinkles</p><p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/r4shd_aC3T4" width="320" youtube-src-id="r4shd_aC3T4"></iframe></div><br />https://www.youtube.com/watch?v=r4shd_aC3T4<p></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-31914318755183314522024-02-04T11:09:00.003-03:002024-02-04T11:09:18.543-03:00 Introduction To Blazor Authentication in .NET 8 - Codewrinkles<p> Introduction To Blazor Authentication in .NET 8</p><p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/asa2ucbZlCI" width="320" youtube-src-id="asa2ucbZlCI"></iframe></div><br />https://www.youtube.com/watch?v=asa2ucbZlCI<p></p><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-83060660629869577262023-12-04T19:42:00.005-03:002023-12-04T19:42:55.266-03:00How to remove unpushed commit in Visual Studio<p> <span style="background-color: #424548; color: #f9fafa; font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Liberation Mono", Menlo, Monaco, Consolas, monospace; font-size: 13px; white-space-collapse: preserve;">git reset --soft HEAD~</span></p><p><span style="background-color: #424548; color: #f9fafa; font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Liberation Mono", Menlo, Monaco, Consolas, monospace; font-size: 13px; white-space-collapse: preserve;"><br /></span></p><p><span style="background-color: #424548; font-size: 13px; white-space-collapse: preserve;"><span style="color: #f9fafa; font-family: ui-monospace, Cascadia Mono, Segoe UI Mono, Liberation Mono, Menlo, Monaco, Consolas, monospace;">https://stackoverflow.com/a/63343196/194717</span></span></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-86619820635046212742023-12-04T17:17:00.001-03:002023-12-04T17:17:09.703-03:00I did this to solve a conflict when doing a pull request<p>I did this to solve a conflict when doing a pull request</p><p><br /></p><p><span style="font-family: courier;">git pull</span></p><p><span style="font-family: courier;">git checkout <feature_branch></span></p><p><span style="font-family: courier;">git pull origin <destination_branch></span></p><p><span style="font-family: courier;"><br /></span></p><p><span style="font-family: courier;">At this point, pulling the destination will try to merge it with the source and reveal all the conflicts.</span></p><p><span style="font-family: courier;"><br /></span></p><p><span style="font-family: courier;">computer:my-repository emmap$ git pull origin main</span></p><p><span style="font-family: courier;"> * branch main -> FETCH_HEAD</span></p><p><span style="font-family: courier;">Auto-merging team_contact_info.txt</span></p><p><span style="font-family: courier;">CONFLICT (content): Merge conflict in team_contact_info.txt</span></p><p><span style="font-family: courier;">Automatic merge failed; fix conflicts and then commit the result.</span></p><p><span style="font-family: courier;"><br /></span></p><p><span style="font-family: courier;">Open the file to resolve the conflict. You can do this using the command line or you can navigate to the file.</span></p><p><span style="font-family: courier;"><br /></span></p><p><span style="font-family: courier;">git add <filename></span></p><p><span style="font-family: courier;">git commit -m'commit message'</span></p><p><span style="font-family: courier;">git push origin <feature_branch></span></p><p><br /></p><p><a href="https://support.atlassian.com/bitbucket-cloud/docs/resolve-merge-conflicts/">https://support.atlassian.com/bitbucket-cloud/docs/resolve-merge-conflicts/</a></p><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-32797964522228774932023-11-25T18:33:00.003-03:002023-11-25T18:39:37.320-03:00Unit Testing in C# 2022: 8. Web API Entity Framework<p> </p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/JV6u4xfyaM8" width="320" youtube-src-id="JV6u4xfyaM8"></iframe></div><br /><p><br /></p><p>See also:</p><p><a href="https://learn.microsoft.com/en-us/ef/ef6/fundamentals/testing/mocking">Testing with a mocking framework - EF6 | Microsoft Learn</a></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-83916789238092566382023-11-04T23:40:00.002-03:002023-11-04T23:40:24.463-03:00HTML optgroup Tag<p> </p><h1 style="background-color: white; box-sizing: inherit; font-family: "Segoe UI", Arial, sans-serif; font-size: 42px; font-weight: 400; margin: 10px 0px;">HTML <span class="color_h1" style="box-sizing: inherit;"><optgroup></span> Tag</h1><div><br /></div><div><a href="https://www.w3schools.com/TAgs/tag_optgroup.asp">HTML optgroup tag (w3schools.com)</a></div>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-82220808066937208362023-10-29T18:55:00.002-03:002023-10-29T18:55:30.110-03:00Jeep Renegade - Borracha fora do lugar / vidro subindo demais<p> <a href="https://www.jeeprenegadeclube.com/t2582-vidro-traseiro-subindo-demais">Vidro traseiro subindo demais (jeeprenegadeclube.com)</a></p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/XZmRR8y2FNs" width="320" youtube-src-id="XZmRR8y2FNs"></iframe></div><br /><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-79156365267018629792023-10-27T11:29:00.003-03:002023-10-27T11:29:22.207-03:00MAUI for cars<p> </p><p><a href="https://github.com/christian-strydom/MauiForCars">christian-strydom/MauiForCars: Source code to build apps for cars (Android Auto and Apple CarPlay) with .NET MAUI. This repository complements the MAUI for cars tutorial series on YouTube. (github.com)</a></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-76421586914360752062023-10-14T12:59:00.004-03:002023-10-14T12:59:33.003-03:00How to see the connected/known WiFi password on Windows<p><span style="font-family: courier;">netsh wlan show profile WIFISSID key=clear</span></p><p><br /></p><p>replace WIFISSID with your actual WiFi SSID</p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-46127528217307477212023-10-08T12:19:00.003-03:002023-10-08T12:19:26.051-03:00How to use JWT access_token and refresh_token in ASP.NET (Core) 8<p> </p><p><br /></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/OOeg5O34r6Q" width="320" youtube-src-id="OOeg5O34r6Q"></iframe></div><br /><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-78369459065569679672023-09-02T12:48:00.002-03:002023-09-02T18:48:45.047-03:00My Smart plug ports<p>TCP/UDP ports</p><p>6600 to 6699</p><p>and <br /><br />8883</p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-90596079570897178052023-07-04T11:40:00.006-03:002023-07-04T11:41:18.478-03:00ASP.NET Response Compression<p> </p><p><span style="font-family: courier; font-size: x-small;">//public void ConfigureServices(IServiceCollection services)</span></p><p><span style="font-family: courier; font-size: x-small;">services.AddResponseCompression(options =></span></p><p><span style="font-family: courier; font-size: x-small;">{</span></p><p><span style="font-family: courier; font-size: x-small;"> options.MimeTypes = new[] { "application/json" };</span></p><p><span style="font-family: courier; font-size: x-small;"> //options.EnableForHttps = true;</span></p><p><span style="font-family: courier; font-size: x-small;">});</span></p><p><span style="font-family: courier; font-size: x-small;">// ...</span></p><p><span style="font-family: courier; font-size: x-small;">// public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceScopeFactory scopeFactory)</span></p><p><span style="font-family: courier; font-size: x-small;">app.UseResponseCompression();</span></p><p><br /></p><p>Beware of the security issues when using EnableForHttps .</p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-60220604214373243362023-07-04T10:43:00.002-03:002023-07-04T10:47:43.283-03:00ASP.NET 8 Rate Limit - AddTokenBucketLimiter<p> </p><p><span style="font-family: courier; font-size: x-small;">builder.Services.AddRateLimiter(o =></span></p><p><span style="font-family: courier; font-size: x-small;">{</span></p><p><span style="font-family: courier; font-size: x-small;"> o.AddTokenBucketLimiter("token", y =></span></p><p><span style="font-family: courier; font-size: x-small;"> {</span></p><p><span style="font-family: courier; font-size: x-small;"> y.TokenLimit = 100;</span></p><p><span style="font-family: courier; font-size: x-small;"> y.QueueProcessingOrder = System.Threading.RateLimiting.QueueProcessingOrder.OldestFirst;</span></p><p><span style="font-family: courier; font-size: x-small;"> y.QueueLimit = 5;</span></p><p><span style="font-family: courier; font-size: x-small;"> y.ReplenishmentPeriod = TimeSpan.FromSeconds(10);</span></p><p><span style="font-family: courier; font-size: x-small;"> y.TokensPerPeriod = 20;</span></p><p><span style="font-family: courier; font-size: x-small;"> y.AutoReplenishment = true;</span></p><p><span style="font-family: courier; font-size: x-small;"> });</span></p><p><span style="font-family: courier; font-size: x-small;">});</span></p><p><br /></p><p>Source: <a href="https://twitter.com/mjovanovictech/status/1676185657092317187">https://twitter.com/mjovanovictech/status/1676185657092317187</a></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-72502298900352215382023-07-04T10:22:00.004-03:002023-07-04T10:47:54.053-03:00How to get QueryString in .NET 8 Blazor using [SupplyParameterFromQuery]<p>To read a query string value, there is the [Parameter] [SupplyParameterFromQuery]</p><p><br /></p><p><span style="font-family: courier; font-size: x-small;">@page "/"</span></p><p><span style="font-family: courier; font-size: x-small;"><span>MyValue: @MyValue</span></span></p><p><span style="font-family: courier; font-size: x-small;">@code </span></p><p><span style="font-family: courier; font-size: x-small;">{</span></p><p><span style="font-family: courier; font-size: x-small;"> [Parameter]</span></p><p><span style="font-family: courier; font-size: x-small;"> [SupplyParameterFromQuery]</span></p><p><span style="font-family: courier; font-size: x-small;"> public string MyValue { get; set; }</span></p><p><span style="font-family: courier; font-size: x-small;">}</span></p><p><br /></p><p>Source: <a href="https://twitter.com/wes_walke/status/1676055936312508417">Weston Walker on Twitter: "TIL in .NET Blazor you can get query strings from the URL and set them to a variable with the [SupplyParameterFromQuery] attribute. I'm finding it super handy for Oauth callback scenarios where you get a code back in the url from a external service. https://t.co/ERvhlQOlC1" / Twitter</a></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-2370169556847730492023-05-15T11:35:00.002-03:002023-05-15T11:35:05.057-03:00WiFi 6 - 802.11ax<p><b>WiFi 6 - 802.11ax</b><br />WiFi 5 - 802.11ac<br />WiFi 4 - 802.11n</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/84XLWe7SbAM" width="320" youtube-src-id="84XLWe7SbAM"></iframe></div><br /><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-12947045118509553072023-05-14T19:23:00.005-03:002023-05-14T19:24:51.908-03:00Authentication in Blazor Server<p>Authentication in Blazor Server</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/LBByZRhyZ8U" width="320" youtube-src-id="LBByZRhyZ8U"></iframe></div><br /><p><br /></p><p>You're using AuthenticationStateProvider wrong in your Blazor Server app! Let's fix it!</p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/42O7rECc87o" width="320" youtube-src-id="42O7rECc87o"></iframe></div><br /><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-87834651588354319032023-04-18T22:40:00.005-03:002023-04-18T22:40:48.121-03:00How to parse Multipart Form File<p> <a class="tooltip-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-4-group" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="border-bottom: 2px solid transparent; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; position: relative; text-decoration-color: var(--cib-color-neutral-foreground-hint-light); text-decoration-style: dotted; text-underline-offset: 3px;" target="_blank">To parse multipart form using .NET 7, you can use the <code style="background: rgba(0, 0, 0, 0.02); border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.2); box-sizing: border-box; font-size: 14px; margin: 0px 2px; padding: 1px 4px; white-space: pre-wrap;">MultipartFormDataParser</code> class from the <code style="background: rgba(0, 0, 0, 0.02); border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.2); box-sizing: border-box; font-size: 14px; margin: 0px 2px; padding: 1px 4px; white-space: pre-wrap;">Http-Multipart-Data-Parser</code> package</a><a aria-label="Http-Multipart-Data-Parser/Http-Multipart-Data-Parser - Github" class="ac-anchor sup-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-4" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; position: relative; text-decoration-line: none;" target="_blank"><span style="align-items: center; border-radius: 3px; color: var(--cib-color-brand-tertiary-foreground); display: inline-flex; font-size: 10px; font-weight: 600; height: 14px; justify-content: center; margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;">1</span></a><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;">. You can parse the stream containing the multipart/form-data by invoking</span><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;"> </span><code style="background: rgba(0, 0, 0, 0.02); border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.2); box-sizing: border-box; color: #111111; font-size: 14px; margin: 0px 2px; padding: 1px 4px; white-space: pre-wrap;">MultipartFormDataParser.Parse</code><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;"> </span><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;">(or it’s asynchronous counterpart</span><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;"> </span><code style="background: rgba(0, 0, 0, 0.02); border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.2); box-sizing: border-box; color: #111111; font-size: 14px; margin: 0px 2px; padding: 1px 4px; white-space: pre-wrap;">MultipartFormDataParser.ParseAsync</code><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;">).</span><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;"> </span><a class="tooltip-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-8-group" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="border-bottom: 2px solid transparent; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; position: relative; text-decoration-color: var(--cib-color-neutral-foreground-hint-light); text-decoration-style: dotted; text-underline-offset: 3px;" target="_blank">Access the data through the parser</a><a aria-label="Http-Multipart-Data-Parser/Http-Multipart-Data-Parser - Github" class="ac-anchor sup-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-8" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; position: relative; text-decoration-line: none;" target="_blank"><span style="align-items: center; border-radius: 3px; color: var(--cib-color-brand-tertiary-foreground); display: inline-flex; font-size: 10px; font-weight: 600; height: 14px; justify-content: center; margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;">1</span></a><span style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px;">.</span></p><p style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; font-variation-settings: var(--cib-type-body2-font-variation-settings); line-height: var(--cib-type-body2-line-height); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 10px !important; padding: 0px; user-select: text; word-break: break-word;"><a class="tooltip-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-12-group" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="border-bottom: 2px solid transparent; position: relative; text-decoration-color: var(--cib-color-neutral-foreground-hint-light); text-decoration-style: dotted; text-underline-offset: 3px;" target="_blank">Here’s an example of how you can parse a multipart/form-data request in .NET 7 using <code style="background: rgba(0, 0, 0, 0.02); border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.2); box-sizing: border-box; font-size: 14px; margin: 0px 2px; padding: 1px 4px; white-space: pre-wrap;">Http-Multipart-Data-Parser</code> package</a><a aria-label="Http-Multipart-Data-Parser/Http-Multipart-Data-Parser - Github" class="ac-anchor sup-target" data-citationid="158725a0-4e5d-f0ac-02c3-eccfe4e4da19-12" h="ID=SERP,5025.1" href="https://github.com/Http-Multipart-Data-Parser/Http-Multipart-Data-Parser" style="position: relative; text-decoration-line: none;" target="_blank"><span style="align-items: center; background: var(--cib-color-brand-tertiary-background); border-radius: 3px; color: var(--cib-color-brand-tertiary-foreground); display: inline-flex; font-size: 10px; font-weight: 600; height: 14px; justify-content: center; margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;">1</span></a>:</p><pre style="background: rgba(0, 0, 0, 0.02); border-radius: 8px; border: 1px solid var(--cib-color-neutral-stroke); box-sizing: border-box; color: #111111; font-size: 16px; margin-bottom: 4px; margin-top: 0px; padding: 10px;"><code class="language-csharp" style="font-size: 14px; white-space: pre-wrap;"><span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">using</span> HttpMultipartParser;
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">using</span> System.IO;
<span class="hljs-comment" style="color: green; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">// ...</span>
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">var</span> parser = <span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">new</span> MultipartFormDataParser(Request.Body);
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">foreach</span> (<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">var</span> file <span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">in</span> parser.Files)
{
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">var</span> filename = file.FileName;
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">var</span> contentType = file.ContentType;
<span class="hljs-keyword" style="color: blue; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">var</span> content = file.Data;
<span class="hljs-comment" style="color: green; font-variation-settings: var(--cib-type-subtitle1-font-variation-settings);">// Do something with the file</span>
}
</code></pre><p style="background-color: rgba(255, 255, 255, 0.6); color: #111111; font-family: -apple-system, Roboto, SegoeUI, "Segoe UI", "Helvetica Neue", Helvetica, "Microsoft YaHei", "Meiryo UI", Meiryo, "Arial Unicode MS", sans-serif; font-size: 16px; font-variation-settings: var(--cib-type-body2-font-variation-settings); line-height: var(--cib-type-body2-line-height); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 10px !important; padding: 0px; user-select: text; word-break: break-word;">I hope this helps! Let me know if you have any other questions.</p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-55530709575204780512023-04-13T13:46:00.002-03:002023-04-13T13:46:45.411-03:00Firewall Ports for MS Teams<p> <a href="https://answers.microsoft.com/en-us/msteams/forum/all/ports-required-for-microsoft-teams/87c608b5-1650-4a84-a15a-9bd7846cb8bb">Ports required for Microsoft Teams - Microsoft Community</a></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-49790965763207207422023-04-03T11:53:00.007-03:002023-04-03T12:50:35.223-03:00Azure Event Grid Storage Account PutBlob DeleteBlob Events<p><br /></p><p><span style="background-color: black; color: deepskyblue; font-family: monospace, "Lucida Console", "Courier New", Consolas; font-size: 14px; white-space: pre-wrap;">{"api":"PutBlob","clientRequestId":"11274a18-88ad-4038-8411-0f8c12e06016","requestId":"f336c9c2-301e-0054-113a-6636d4000000","eTag":"0x8DB345182F07EBA","contentType":"video/mp4","contentLength":18026572,"blobType":"BlockBlob","url":"https://[storageaccount].blob.core.windows.net/teste/dub_portugues.mp4","sequencer":"0000000000000000000000000000663400000000013c15cb","storageDiagnostics":{"batchId":"96d72e50-6006-0014-003a-6631ec000000"}}</span></p><p><span style="background-color: black; color: deepskyblue; font-family: monospace, "Lucida Console", "Courier New", Consolas; font-size: 14px; white-space: pre-wrap;">{"api":"DeleteBlob","clientRequestId":"5f63b2d5-e9ed-4dca-9a02-484424c9b6d6","requestId":"12e55510-e01e-0057-4e3a-66d7b0000000","eTag":"0x8DB34516DF03AB1","contentType":"video/mp4","contentLength":18035781,"blobType":"BlockBlob","url":"https://[storageaccount].blob.core.windows.net/teste/dub_espanol.mp4","sequencer":"0000000000000000000000000000663400000000013c143d","storageDiagnostics":{"batchId":"96d682ca-6006-0014-003a-6631ec000000"}}</span></p><p><br /></p><p>Related:</p><p>How to receive Azure Storage Account Network Share File and Directory events on Azure Event Grid Subscription?</p><p><a href="https://stackoverflow.com/q/75921159/194717">https://stackoverflow.com/q/75921159/194717</a></p><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-79903012545050347592023-02-17T22:53:00.003-03:002023-04-03T11:51:55.042-03:00Azure DevOps - npm cache
<pre>This is my setup:</pre><pre>steps:
- task: Cache@2
displayName: 'Cache npm'
inputs:
key: '"YourAppName" | "$(Build.SourceBranchName)" | "Android" | "npm" | "$(Agent.OS)" | "$(myDate)" | $(Build.SourcesDirectory)/package.json'
path: '$(Build.SourcesDirectory)/node_modules'
cacheHitVar: 'CACHE_RESTORED'
</pre>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-69293790729132679842022-11-26T20:38:00.001-03:002022-11-26T20:38:14.794-03:00Melhorar imagem da tela do computador / laptop<p> </p><p>Pesquise por "Calibrar cores do vídeo" no menu Iniciar. É uma configuração bem descritiva (tem um passo a passo), então não vou detalhar muito. O que me ajudou mais foi DIMINUIR o GAMA. Sugiro colocar alguma imagem ou tela do lado que esteja bem ruim pra vc, já que a calibragem funciona na hora (não precisa reiniciar), então vc consegue ir vendo o efeito. </p><p><br /></p><p>Outro ponto que ajudou foi deixar a Luz Noturna sempre ativa (não sei se o de vcs tem). MAAAAS diminui a Força dela em "Configurações de Exibição" -> "Configurações de luz noturna".</p><p><br /></p><p>Fonte: <a href="https://community.acer.com/pt/discussion/590831/aspire-a315-42-r1b0-tela-muito-ruim">https://community.acer.com/pt/discussion/590831/aspire-a315-42-r1b0-tela-muito-ruim</a></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhdCQsZqOfd4oExd-p15e8d2FoqaIZmTu3nSVe-kkg1lCtVXWTiyyPd_b_0Q24hLEwyIxuR7GG-dBDSLKCeFtUWgtPuVqhKMEhSHzGmhAjmw_57DqU6n4Xgh3qLQA5YZBhycf2ivDn-BWnkc00C27oCPEHjq-lway0viYv49obr4MQr3jg9PRWH6ZnJ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="437" data-original-width="945" height="148" src="https://blogger.googleusercontent.com/img/a/AVvXsEhdCQsZqOfd4oExd-p15e8d2FoqaIZmTu3nSVe-kkg1lCtVXWTiyyPd_b_0Q24hLEwyIxuR7GG-dBDSLKCeFtUWgtPuVqhKMEhSHzGmhAjmw_57DqU6n4Xgh3qLQA5YZBhycf2ivDn-BWnkc00C27oCPEHjq-lway0viYv49obr4MQr3jg9PRWH6ZnJ" width="320" /></a></div><br /><br /><p></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-10289586919751083702022-11-13T03:31:00.002-03:002022-11-13T03:32:27.505-03:00Relato de alguém que diz ter estado na porta do inferno<p><br />Link para este relato em: <b>A volta do gigante. Elomar canta com o público em evento de educação e cultura da Prefeitura de Vitória da Conquista</b> – BLITZ CONQUISTA <a href="https://blitzconquista.com.br/?p=121012">https://blitzconquista.com.br/?p=121012</a><br /><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-25288245414099890952022-10-25T17:51:00.005-03:002022-10-26T10:24:29.703-03:00Impropérios - Abadia da Ressureição<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/uR037FF6YRM" width="320" youtube-src-id="uR037FF6YRM"></iframe></div><br /><p><br /></p><p>Povo Meu, que te fiz Eu? </p><p>Diz em que te contristei.</p><p>Que podia mais ter feito?</p><p>Em que foi que Eu te faltei?</p><p><br /></p><p>Agios o theos, <br />Sanctus Deus, </p><p>Agios ischiros, <br />Sanctus fortis, </p><p>Agios athanatos eleison imas<br />Sanctus immortalis — miserere nobis. </p><p>«Santo Deus, Santo forte, Santo imortal, tende piedade de nós! </p><p>cf. Miquéias 6, 3 </p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-69182749640241478892022-10-02T22:58:00.002-03:002022-10-02T22:58:07.602-03:00Como declarar os investimentos no exterior no Imposto de Renda?<p>Como declarar os investimentos no exterior no Imposto de Renda?</p><p><a href="https://blog.bancointer.com.br/ir-investimentos-no-exterior">https://blog.bancointer.com.br/ir-investimentos-no-exterior</a></p><p><br /></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0tag:blogger.com,1999:blog-6085347790085023644.post-16359142495082708822022-09-26T09:38:00.002-03:002022-09-26T09:38:28.861-03:00Azure SQL Server high DTU Load<p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;">The database was having some 100% spikes without any corresponding change in visits of the site/ API</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhTZadhfgIBgm_LoY1f3CcCtDJGCkx0YGREy4SsbFlX6_sCHEv5XcKBHcHbjt5ftiPz8PJLSHmBjkyBSGB4mEwpaffirf-Gb4oMYWkAB6XM-eRyL_g4IfFIoivIkPJQ2nigypzMgdCnRpLZcgvF9QGUIOfoJAYSjxCoEbZ4Uj26W8sWgZETwLhEv9aZ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="454" data-original-width="1171" height="124" src="https://blogger.googleusercontent.com/img/a/AVvXsEhTZadhfgIBgm_LoY1f3CcCtDJGCkx0YGREy4SsbFlX6_sCHEv5XcKBHcHbjt5ftiPz8PJLSHmBjkyBSGB4mEwpaffirf-Gb4oMYWkAB6XM-eRyL_g4IfFIoivIkPJQ2nigypzMgdCnRpLZcgvF9QGUIOfoJAYSjxCoEbZ4Uj26W8sWgZETwLhEv9aZ" width="320" /></a></div><br /><br /><p></p><p> </p><p>I checked and removed duplicated indexes:</p><p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgv1M-zT5DkPdyoqsYBWm9ZOW4itK5PGyUcPtMf5q5P0okLXXAA0p0gj5w2mTMjPtqd5pUIc3Y0ZWJymsfBa7XSvJprzC4SDK1Vi5pcaiqKns5oiWgQvJpIGMhR20sLBnywaTSNhfvbCpDA2MfeEPzMHrnRBQVVTH0wTsitBw2hFgdJ7tIDZwCH37kT" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="402" data-original-width="636" height="202" src="https://blogger.googleusercontent.com/img/a/AVvXsEgv1M-zT5DkPdyoqsYBWm9ZOW4itK5PGyUcPtMf5q5P0okLXXAA0p0gj5w2mTMjPtqd5pUIc3Y0ZWJymsfBa7XSvJprzC4SDK1Vi5pcaiqKns5oiWgQvJpIGMhR20sLBnywaTSNhfvbCpDA2MfeEPzMHrnRBQVVTH0wTsitBw2hFgdJ7tIDZwCH37kT" width="320" /></a></div><br /><br /><p></p>Tonyhttp://www.blogger.com/profile/10611087525386237961noreply@blogger.com0