.status-msg-wrap { display: none; }
Thursday, February 28, 2019
no image

Difference between .NET, .NET Core, ASP.NET Core... as well as tips for TypeScript developer

I'm a backend TypeScript developer that uses Node.js and frameworks such as Express or Nest. Would love to start learning and using C# but I would like to understand what the difference is between all the names I've seen so far, which are:

- .NET

- ASP.NET Core

- ASP.NET MVC

- .NET Core

- .NET Framework

Some explanations would be great, as well as any tips for a backend TypeScript developer trying to get into the .NET ecosystem (alternatives for frameworks like Express etc).

Difference between .NET, .NET Core, ASP.NET Core... as well as tips for TypeScript developer Click here
no image

Question on scaling + video.

https://www.youtube.com/watch?v=-cJjnVTJ5og&t=1178s

Video popped up for me, as a beginning C#/Web Developer. Trying to understand what they're saying here lol. Are they talking about bad code vs. limitations in whatever version of .net core? Whether 2.0,2.1 or 2.2? I'm the IT admin looking to move to web dev so it's mostly foreign on my end. In my world we just throw more hardware at a problem lol. Are they just cherry picking async an a bad offender? MAKE ME UNDERSTAND!!!!!

Question on scaling + video. Click here
no image

Is using the repository pattern best practise?

I'm following a .net core an Angular course on udemy.

The application architecture follows the repository pattern. For example theres a user repository that has the logic, which implements an interface. The controller then calls the methods in each function. Is this best practise? Or should I avoid repository and implement all the CRUD functionality in the controller itself.

In my previous job, (using Laravel) we were refactoring an application, and my boss told me to strip out the repositories and implement all logic in the controllers?

Should I do this?

Is using the repository pattern best practise? Click here
no image

Planning Backend Data Calculations?

Hello, I consider myself a junior developer hoping to be a confident fullstack .NET dev in the future. I am currently working on a personal project to demonstrate and test my skills in .NET.

Right now, I am at a point where I need to pull data from 3-4 tables and aggregate the data and do other math operations. For better or worse, my experience with this in the past has been creating SQL views of this information but as I start to get more experience I see many projects use a separate backend language or app to make these calculations.

So I want to calculate game data from Riot Games League of Legends API and that involves downloading thousands of players match data and then aggregating it all into an overall average (or whatever metric I want)

edit: I should note that I want to eventually display this data into chart.js elements on my pages so whatever I can use to load that reliably (using DB objects maybe?) would be great.

Is there a preferred method of handling this sort of problem? Currently my app is just an ASP.NET MVC 5 project using Entity and an AWS RDS for my db server. I am interested in learning different ways to solve this.

Thanks!

Planning Backend Data Calculations? Click here
no image

Exchange Custom properties?

I am following along with this Microsoft post to get some code written against our exchange server. My goal was to loop through each contact in a specific folder and write each contact to my sql database. I have a custom property on each contact that is the customers ID number which I want to include in each database record. The question I have is this, am I looking for a specific set GUID that is somewhere to be found on the exchange server for my extended custom property? How do I go about finding that guid?

EDIT: Here is the link because it kept breaking when trying to format lol. https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/dd633697(v%3Dexchg.80)

Exchange Custom properties? Click here
Wednesday, February 27, 2019
no image

[Beginner help] MVC5 inexperience

Hey guys, I just started my first job in web development about 2 weeks back, and I'm feeling really overwhelmed..

In my interview I stated I'd only used Webforms before, and they assured me if I got the job, I'd have a couple of months to get up to speed on MVC and some other things before throwing me into their actual projects.

Well I'm approaching the end of my second week and I've already been put on deadlined work, and now I'm feeling really incompetent - I have to google literally every single tiny .. simple thing that I'm supposed to know, to mixed results, and it's leaving me feeling rather ashamed of my inexperience. The things I could do easily with webforms, I'm struggling with on MVC.

Basically.. Does anyone have any sort of free time that they wouldn't mind an idiot asking them really stupid, basic questions on occasion while I'm learning, maybe on Discord or some alternative?

Also.. I have seen some of the resources available for learning MVC, and I'm spending my weekends looking through them, but I'm also open to suggestions! Thanks everyone!

[Beginner help] MVC5 inexperience Click here
no image

trouble with aspnet_compiler

is the aspnet_compiler a pain in the A.. or is it me?

I've been trying to pre compile a asp.net webforms application to no luck. The compiler keeps coming up with errors that are not a problem if I let IIS do the compilation.

is there a different compiler that iis uses?

we have been publishing this application for years with no problem by copying over the .aspx files and the dlls in the bin folder.

The reason I'm trying to pre compile the application is so that the site doesn't slowdown to a crawl for about 30 seconds each time we publish while iis re compiles it.

any ideas? what do you do to publish .net web apps?

trouble with aspnet_compiler Click here
no image

Any TPL Dataflow fans willing to do a code review?

I'm trying to add an filter to a basic buffer block. The idea is that if a message doesn't pass the filter then it should be dropped on the floor (or alternately, declined).

Do you see any mistakes or potential problems?

/// <summary> /// A FilterBlock is a BufferBlock that will discard or decline messages that do not pass the filter. /// </summary> /// <typeparam name="T"></typeparam> /// <seealso cref="System.Threading.Tasks.Dataflow.IPropagatorBlock{T, T}" /> public class FilterBlock<T> : IPropagatorBlock<T, T>, IReceivableSourceBlock<T> { static readonly DataflowBlockOptions Default = new DataflowBlockOptions(); readonly BufferBlock<T> m_Buffer; readonly Predicate<T> m_Filter; readonly object m_IncomingLock = new object(); bool m_DeclineMessages; bool m_TargetDecliningPermanently; /// <summary> /// Initializes a new instance of the <see cref="FilterBlock{T}"/> class. /// </summary> /// <param name="filter">The filter to apply to incoming messages.</param> /// <param name="dataflowBlockOptions">The dataflow block options.</param> /// <remarks>Messages that do not pass the filter will be marked as accepted and dropped.</remarks> public FilterBlock(Predicate<T> filter, DataflowBlockOptions dataflowBlockOptions) : this(filter, false, dataflowBlockOptions) { } /// <summary> /// Initializes a new instance of the <see cref="FilterBlock{T}"/> class. /// </summary> /// <param name="filter">The filter to apply to incoming messages.</param> /// <remarks>Messages that do not pass the filter will be marked as accepted and dropped.</remarks> public FilterBlock(Predicate<T> filter) : this(filter, false, Default) { } /// <summary> /// Initializes a new instance of the <see cref="FilterBlock{T}"/> class. /// </summary> /// <param name="filter">The filter to apply to incoming messages.</param> /// <param name="declineMessages">If true, messages that don't pass the filter will be declined. If false, messages that don't pass the filter will be accepted and dropped.</param> /// <param name="dataflowBlockOptions">The dataflow block options.</param> public FilterBlock(Predicate<T> filter, bool declineMessages, DataflowBlockOptions dataflowBlockOptions) { m_Filter = filter; m_DeclineMessages = declineMessages; m_Buffer = new BufferBlock<T>(dataflowBlockOptions); } /// <summary> /// Initializes a new instance of the <see cref="FilterBlock{T}"/> class. /// </summary> /// <param name="filter">The filter to apply to incoming messages.</param> /// <param name="declineMessages">If true, messages that don't pass the filter will be declined. If false, messages that don't pass the filter will be accepted and dropped.</param> public FilterBlock(Predicate<T> filter, bool declineMessages) : this(filter, declineMessages, Default) { } /// <summary> /// Gets a <see cref="T:System.Threading.Tasks.Task"></see> that represents the asynchronous operation and completion of the dataflow block. /// </summary> /// <value>The completion.</value> public Task Completion => m_Buffer.Completion; /// <summary> /// Gets the number of items currently stored in the buffer. /// </summary> /// <value>The number of items.</value> public int Count { get => m_Buffer.Count; } /// <summary> /// Signals to the <see cref="T:System.Threading.Tasks.Dataflow.IDataflowBlock"></see> that it should not accept nor produce any more messages nor consume any more postponed messages. /// </summary> public void Complete() { lock (m_IncomingLock) { m_TargetDecliningPermanently = true; } m_Buffer.Complete(); } T ISourceBlock<T>.ConsumeMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target, out bool messageConsumed) { return ((ISourceBlock<T>)m_Buffer).ConsumeMessage(messageHeader, target, out messageConsumed); } void IDataflowBlock.Fault(Exception exception) { ((ISourceBlock<T>)m_Buffer).Fault(exception); } /// <summary> /// Links the System.Threading.Tasks.Dataflow.ISourceBlock`1 to the specified System.Threading.Tasks.Dataflow.ITargetBlock`1. /// </summary> /// <param name="target">The System.Threading.Tasks.Dataflow.ITargetBlock`1 to which to connect this source.</param> /// <param name="linkOptions"> /// A System.Threading.Tasks.Dataflow.DataflowLinkOptions instance that configures /// the link. /// </param> /// <returns>An IDisposable that, upon calling Dispose, will unlink the source from the target..</returns> public IDisposable LinkTo(ITargetBlock<T> target, DataflowLinkOptions linkOptions) { return m_Buffer.LinkTo(target, linkOptions); } DataflowMessageStatus ITargetBlock<T>.OfferMessage(DataflowMessageHeader messageHeader, T messageValue, ISourceBlock<T> source, bool consumeToAccept) { // Validate arguments if (!messageHeader.IsValid) throw new ArgumentException("Invalid message header", nameof(messageHeader)); if (source == null && consumeToAccept) throw new ArgumentException("Cannot consume from a null source", nameof(consumeToAccept)); lock (m_IncomingLock) { if (m_TargetDecliningPermanently) return DataflowMessageStatus.DecliningPermanently; if (m_Filter(messageValue)) { return ((ITargetBlock<T>)m_Buffer).OfferMessage(messageHeader, messageValue, source, consumeToAccept); } else //accept and drop or decline the message { // Consume the message from the source if necessary if (consumeToAccept) { bool consumed; messageValue = source.ConsumeMessage(messageHeader, this, out consumed); if (!consumed) return DataflowMessageStatus.NotAvailable; } return m_DeclineMessages ? DataflowMessageStatus.Declined : DataflowMessageStatus.Accepted; } } } void ISourceBlock<T>.ReleaseReservation(DataflowMessageHeader messageHeader, ITargetBlock<T> target) { ((ISourceBlock<T>)m_Buffer).ReleaseReservation(messageHeader, target); } bool ISourceBlock<T>.ReserveMessage(DataflowMessageHeader messageHeader, ITargetBlock<T> target) { return ((ISourceBlock<T>)m_Buffer).ReserveMessage(messageHeader, target); } /// <summary> /// Attempts to synchronously receive an available output item from the <see cref="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1"></see>. /// </summary> /// <param name="filter">The predicate value must successfully pass in order for it to be received. filter may be null, in which case all items will pass.</param> /// <param name="item">The item received from the source.</param> /// <returns>true if an item could be received; otherwise, false.</returns> public bool TryReceive(Predicate<T> filter, out T item) { return m_Buffer.TryReceive(filter, out item); } /// <summary> /// Attempts to synchronously receive all available items from the <see cref="T:System.Threading.Tasks.Dataflow.IReceivableSourceBlock`1"></see>. /// </summary> /// <param name="items">The items received from the source.</param> /// <returns>true if one or more items could be received; otherwise, false.</returns> public bool TryReceiveAll(out IList<T> items) { return m_Buffer.TryReceiveAll(out items); } } 
Any TPL Dataflow fans willing to do a code review? Click here
no image

Best practice with sending JSON + image in EF POST

I've got an API i'm working on and currently I have two POST's. One that accepts JSON and one the accepts IFormFile.

[HttpPost("furniture")] public IActionResult AddNewFurniture(Furniture newFurniture) { if(newFurniture == null) { return BadRequest(); } var finalFurniture = new Furniture() { Name = newFurniture.Name, UID = newFurniture.UID, CategoryId = newFurniture.CategoryId, Cost = newFurniture.Cost, PurchasedFrom = newFurniture.PurchasedFrom, DatePurchased = newFurniture.DatePurchased, HouseId = newFurniture.HouseId, Turns = newFurniture.Turns }; _furnitureInfoRepository.AddNewFurniture(finalFurniture); return Ok(); } [HttpPost("upload")] public async Task<IActionResult> UploadFile(IFormFile image) { var furnitureImage = new FurnitureImage(); if (ModelState.IsValid) { if (image != null && image.Length > 0) { var fileName = Path.GetFileName(image.FileName); var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\NewFolder", fileName); using (var fileSteam = new FileStream(filePath, FileMode.Create)) { await image.CopyToAsync(fileSteam); } //Hard coding the furnitureId for testing purposes. furnitureImage = new FurnitureImage() { PictureInfo = fileName, FurnitureId = 9 }; } } _furnitureInfoRepository.AddNewFurnitureImage(furnitureImage); return Ok(furnitureImage); } 

The issue I am facing is that the FurnitureImage and Furniture will be related by the furnitureId, which is generated by the database. The user will be sending the image and text over as one. In the above case, how would I go about saving AddNewFurniture and also passing along it's new furnitureId to Uploadfile.

My next question, is this the best way to do this? Would it be better to send them over as two parameters to the same furniture endpoint and then in the furnitureInfoRepository save the furniture type to the furniture table, return the newly created furniture and pass it's ID along with the furnitureImage info into the upload method? What would that look like? Is there is some sort of ModelBinding I have to introduce if I decide to go this route?

Best practice with sending JSON + image in EF POST Click here
no image

New Tool for Order-independent transparency, MSAA+SSAA

Chart supports GPU-based per pixel order-independent transparency and Multi sampling and Super sampling antialiasing techniques.

Chart Feature for Order-independent transparency, MSAA+SSAA

Translucent object rendering cannot be handled that easily. The problem is that colors provided as output of rendering process must be merged fr om farthest to closest using special blending algorithm (linear interpolation operation by default) to achieve an expected result. 

But we cannot use depth buffer here, because it would discard a lot of translucent fragments. So the most logical, popular and at the same time quick solution to this problem is called “Order-dependent transparency”. 

Chart supports GPU-based per pixel order-independent transparency and Multi sampling and Super sampling antialiasing techniques

The idea is to sort all the visible translucent objects by its depth value (typically, it is a transformed center of the object bounding box) before rendering them. It sounds great, but works only in cases wh ere one and the same object has no multiple points that theoretically might be projected to the same point of the screen, or translucent objects that have no intersections. 

New Tool for Order-independent transparency, MSAA+SSAA Click here
Tuesday, February 26, 2019
no image

Dealing with Forms in Razor Pages

I'm creating a Razor Pages based web application that will be used to record and submit laboratory data to a database for certain processes performed at my work.

What I want to do is:

- When the user clicks "Create New Session", have a bootstrap modal with a form come up in which they indicate the type of session they want to create.

- Then, the user will click "Next", and another modal will pop up with another form that has fields relevant to the type of session that they selected.

- After all the fields are populated, the user can submit the data, it will write to the database, and the modal will close.

My problem is that I'm not familiar with how to deal with forms in this context, especially where I'm trying to have two forms in one page, and both are placed in modals. Any help would be appreciated!!

Dealing with Forms in Razor Pages Click here
no image

Making VS look more like VS Code?

Okay, I want to preface this by saying this is an extremely lazy question and I've done minimal googling. I just thought someone else might have had this exact issue and have an easy fix. Is there a simple way to get code coloring/font style and size to look exactly like the VS Code out of the box theme in Visual Studio? It annoys me switching back and forth, and modifying editor properties in VS manually is kind of a pain. Also I can't get the fonts to not appear ever so slightly blurry in VS for some reason. Thanks, and feel free to tell me to do my own research and get bent.

Making VS look more like VS Code? Click here
no image

webscrapping help needed!

Hey,

I'm trying to build a simple app that will take a user search input, and based on it, the app will connect to specific search urls on different websites and gather all results summarized and sorted for the user to see.

These websites have no APIs so I'm approaching to scrap them. The thing is that these sites are pretty complex and they are all dynamic.

I have tried htmlagilitypack but I get "The document is too complex to parse" exception, and now I don't know if the lib is not enough or I need some other lib to do that OR I'm just using it wrong.

Any thoughts?

webscrapping help needed! Click here
Monday, February 25, 2019
no image

Trying to better understand dbcontext using/reusing and the repository pattern

Hello,

I inherited a project that uses MVC, linq to sql and the repository pattern (technically i think it's a mix of a repo pattern with a service pattern in one). The site intermittently gets an error that says there is already an open datareader associated with a command which must be closed. Doing some reading, it appears that making use of using statements would fix this as the context would be disposed each time it is called upon.

However, in this repo pattern, the context and constructor is created dynamically with the following class:

public class Repository<T> where T : DataContext { protected T db; public Repository(string connectionString) { var myConstructor = CreateConstructor(typeof(T), typeof(string)); db = (T)myConstructor(connectionString); } public delegate object ConstructorDelegate(params object[] args); public static ConstructorDelegate CreateConstructor(Type type, params Type[] parameters) { var constructorInfo = type.GetConstructor(parameters); var paramExpr = Expression.Parameter(typeof(Object[])); var constructorParameters = parameters.Select((paramType, index) => Expression.Convert( Expression.ArrayAccess( paramExpr, Expression.Constant(index)), paramType)).ToArray(); var body = Expression.New(constructorInfo, constructorParameters); var constructor = Expression.Lambda<ConstructorDelegate>(body, paramExpr); return constructor.Compile(); } } 

This is used like so:

public class ItemRepository : Repository<SomeDBContextClass>, IItemRepository { // the db object in the Repository class is used here in any following repository methods public IItem GetItem(int itemID) { var item = db.Item.FirstOrDefault(s => s.ID == itemID) ?? new Item(); return item; } } 

Now, since the repo is getting a data context from this inherited class, there is no way to implement a using statement right? In other solutions people were saying that a simple .tolist will be enough to get rid of these errors but I've tried this and it doesn't seem to help, plus when there's a large amount of items there could be a performance hit from what stackoverflow comments are suggesting.

I started to comment out the inherit and adding a using new db context in each method, but we use AutoMapper and it errors saying that I can't map a disposed object. Is this common or is this an automapper quirk? I guess I could assign the item locally and then map it, so it doesn't really matter but it was just something else to pile onto my confusion.

Should I rip all this out and instantiate the context in each repo method? I get that the above code reduces the work of setting up a constructor and readonly member in each repo class but I feel like it's abstracting too far and is being more of a burden than useful. Even still, the db context is being injected... how do you using that? do I have to call dispose() in the end of every repo method?

I'm considering just dropping it all together and rebuilding the back end with EF but I don't really have the time allotted to do this.

I'm reading a lot about "unit of work" but that's something new to me as well and like I said I don't really have a lot of time allotted to me to fix this issue, I'm worried I'm going to fix it incorrectly and make it worse down the road.

I guess the main question is for the repository pattern, how do you properly dispose a connection if the repo is getting it's context injected? Does DI automatically dispose and call new every time it is needed? If it does then why am I getting these datacontext connection open issues? That doesn't add up to me. Surely the repo pattern handles this somehow but we just aren't implementing it properly?

Trying to better understand dbcontext using/reusing and the repository pattern Click here
no image

Reasons not to use MySQL or PostgresSQL with a .NET Core/C# application?

I’m unfamiliar with .NET Core and C# and am working on a project with a .NET developer who claims we should not use MySQL or Postgres because performance would suffer?

He also maintains that SQL Server does not work well if you fully encrypt the DB.

The application is pretty basic in that it will primarily be capturing text based data the will be reported on later. There are no major batch processes or mathematical calculations running.

The plan is to run the application in AWS and I suggested we look at using a DB other than SQL Server to avoid MS license costs.

Is there something inherent about .NET Core and C# that would make using MySQL, Postgres or Aurora a bad choice for a database?

Reasons not to use MySQL or PostgresSQL with a .NET Core/C# application? Click here
no image

Why do we have to AuthCookieAuthentication?

TL;DR: Why do we always have to set o.DefaultAuthenticateScheme = "Cookie"; in Startup.cs?

I've created a simple asp.net core mvc application which supports logging in using Facebook, Google and Github.

This is my Startup.cs

 public void ConfigureServices(IServiceCollection services) ... services .AddAuthentication(o => { o.DefaultAuthenticateScheme = "Cookie"; o.DefaultSignInScheme = "Cookie"; }) .AddCookie("Cookie") .AddFacebook("Facebook", o => { o.ClientId = "ClientIdOfFAcebookApp"; o.ClientSecret = "ClientSecretApp"; }) .AddGoogle("Google", o => { o.ClientId = "ClientIdOfGoogleApp"; o.ClientSecret = "ClientSecretOfGoogleApp"; }) .AddOAuth("Github", o => { 

There is a index.html. It shows three links for loggin in using Github, Google or Facebook

@Html.ActionLink("Log in with github", "Github") @Html.ActionLink("Log in with Google", "Google") @Html.ActionLink("Log in with Facebook", "Facebook") @Html.ActionLink("Log out", "LogOut") @if (User.Identity.IsAuthenticated) { <div>User: @User.Identity.Name</div> } 

There is HomeController.cs:

public IActionResult GitHub() { return Challenge(new AuthenticationProperties() { RedirectUri = "/Home/" }, "Github"); } public IActionResult Facebook() { return Challenge(new AuthenticationProperties() { RedirectUri = "/Home/" }, "Facebook"); } public IActionResult Google() { return Challenge(new AuthenticationProperties() { RedirectUri = "/Home/" }, "Google"); } public IActionResult Logout() { HttpContext.SignOutAsync(); return Redirect("/Home/"); } 

We are not allowed set o.DefaultSignInScheme = "Github" ("Facebook", "Google"), because OAuth handlers doesn't support verb SignIn

And there is a very interesting thing for me.

if we set o.DefaultAuthenticateScheme = "Github"; only authentication using Github will work

if we set o.DefaultAuthenticateScheme = "Facebook"; only authentication using Facebook will work. The same thing with Google.

BUT if we set o.DefaultAuthenticateScheme = "Cookie"; all authentications will work

What the difference between o.DefaultAuthenticateScheme = "Cookie" and o.DefaultAuthenticateScheme = "Github" (or "Facebook" or "Google")? Do you know why DefaultAuthenticateScheme = "Cookie" enables us to use any authentication?

Why do we have to AuthCookieAuthentication? Click here
no image

Is it possible to take a web application/service course in .Net, C# Nunit, and Visual Studio with Ubuntu not Windows?

I am considering whether to take a course using Visual Studio, .Net, C#, Entity Framework, MVC, .Web Services, Web API and RestFul Services, Nunit. There will also be group projects. I don't have access to Windows but only Ubuntu, and the instructor and other classmates will use Windows. Will it be impossible for me to take the class? How shall I overcome the challenge? For example, are there replacements of those programming tools in Ubuntu? Note that running a Windows virtual machine is very slow on my laptop.

Thanks.

Is it possible to take a web application/service course in .Net, C# Nunit, and Visual Studio with Ubuntu not Windows? Click here
no image

CWE 327 "Insufficient Diffie Hellman Strength" fix?

Does anyone know how to fix this CWE vulnerability? I'm coming across different answers online, from windows updates, to code fixes, but I'm not really sure...It's a C# ASP.Net 4.5.1 Webforms site, using ASP.NET Identity for authentication. There's a crawler that's used to scan for security vulnerabilities, and it's come up with:

Using Diffie Hellman group with prime (por small prime) of size 1024-bit or less, leaves the server vulnerable to man-in-the middle attack (MitM). Diffie-Hellman key exchange algorithm uses fixed primes as a base for computing the secret key used to secure the communication channel. The size of the small prime pdeployed dictates the security level of the generated key. This in turn defines the effective security provided by the Diffie-Helman key exchange algorithm. Research indicates that Diffie-Hellman group using prime size of 1024-bit provides only about 77-80 bits of security. Communication channels that are secured using this key are vulnerable to man-in-the-middle attack. All anonymous, ephermeral and fixed Diffie-Hellman key exchange algorithms except for Elliptical-Curve Diffie-Hellman (ECDHE) key exchange are vulnerable to this attack. WebInspect has detected the target server using Diffie-Hellman small prime pof size 1024 bits in ciphersuite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39). The server may thus be vulnerable to eavesdropping and/or man-in-the-middle attacks.

CWE 327 "Insufficient Diffie Hellman Strength" fix? Click here
no image

API connecting multiple systems/applications

I have an idea (it might be a dumb one, I'm not sure yet :)) of building an API on top of some of my companys internal systems/applications. I feel like the API itself will only pull and show information from the other system/applications database/files, at least to begin with, and hopefully will not need its own database. As mentioned I imagine the API will initially be read-only (GET), but I might add other methods to it later.

My problem is that I am not too big on writing these kind of Web APIs (hopefully I'll learn a lot along the way) and I really don't know where to start. Has anybody here built something similar? Or do you know of any similar projects on github/bitbucket etc. that I can take a look at?

I will be grateful for any tips, pointers or feedback, good as bad. :)

API connecting multiple systems/applications Click here
no image

Using async/await in ASP.Net seems to be more trouble than it's worth?

I just converted one of my apps over to use Tasks with async/await and man... what a pain!!

For a site that only has around 10,000 hits per day, this seems like a lot of work for no benefit.

What I found is that you have to use a special flag in your TransactionScope to make it work and that it won't work in a .ForEach statement.

Is there another compelling reason to use the async/await in a smaller website? Or do you really only start seeing benefits when your hit counts are really big?

Using async/await in ASP.Net seems to be more trouble than it's worth? Click here
no image

Combolistitems collection question.

I created a class containing to public properties (value) and (text)

I use this class to add items into combobox.items.add(custom class)

So when a user selects something I have the display value and the code value.

My question is I would like to speed the search capability of the combolistitems collection

is there a way to convert the combobox.items collection back to a collection of my custom class?

So I can use a indexOf type function against it instead of doing something like this

For Each c As ComboListItem In Me.ddlb_Fac.Items

If c.value = ls_Hosp Then

Me.ddlb_Fac.SelectedItem = c

End If

Next

Thanks in advance.

Combolistitems collection question. Click here
no image

Private InfoSec Community

MentorSec is a private community dedicated to individuals who are both experienced in information security and those who are getting into the industry. The purpose of this server is to help individuals network and share industry knowledge. For entry members must first fill out a short application that gets manually approved by the moderators.

Key Features:

* Option to get paired up with experienced industry veteran

* Live cyber security news and published exploits

* Section dedicated to development in languages such as python, php, rust, c/c++

* Community events and conferences

* Job listings

* Channels to discuss certifications such as CISM, CISSP, GSEC, etc

* Channel to connect with fellow members via linkedin

* CTF channels

Invite Link: https://discord.me/mentorsec

Private InfoSec Community Click here
no image

Exam Ref 70-486 2nd Edition : Unobtainable?

Im currently busy with my MCSD : App Builder , I have successfully passed 70-483 recently and am looking to start prepping for 486. I used the official exam ref books to prepare for the previous one and that worked quite well.

I've been looking for the 2nd edition of the exam ref for the 486 exam all over the net but cant seem to find a place to purchase it . Out of stock on amazon and else where.

Could someone perhaps point me in the right direction?

Exam Ref 70-486 2nd Edition : Unobtainable? Click here
no image

What to learn after ASP.NET MVC 5?

I have finished learning MVC 5 by watching some Pluralsight Videos, what should I learn next? For next 6~8 months I would have to stick with MVC 5 only hence Core is not an option.

What to learn after ASP.NET MVC 5? Click here
Sunday, February 24, 2019
no image

What one needs to know, before Blazor.

Hi everyone,
as a developer of mainly GUI and services (C#, WPF, UWP, WinForms and for last two years .Net Core) I would like to move to develop for web. And because I am not pushed by anyone, I chosed Blazor.
What are the necessary prerequisites to develop for Blazor.

My guess is C#, ASP.NET, EF CORE, HTML and CSS.

Am I right? Or is there anything else?

What are your recommendations to know, before start with Blazor?

What one needs to know, before Blazor. Click here
The webdev Team