ASP.NET Web API: Secure RESTful Services

it courses

Contents

Introduction to ASP.NET Web API

Welcome to the first tutorial in our ASP.NET Web API series! This tutorial is designed for beginners looking to get started with ASP.NET Web API programming. We will guide you through the process of learning and mastering the art of building secure and efficient RESTful services using the ASP.NET framework.

In this tutorial, we'll introduce you to the basic concepts and components of the ASP.NET Web API. Our aim is to provide a strong foundation for your learning journey, so you can advance to more complex topics and examples with confidence.

Throughout this series, we'll focus on practical, real-world examples and best practices that will help you develop a deeper understanding of the subject matter. We encourage you to practice the concepts and techniques covered in each tutorial to gain hands-on experience and build your skills progressively.

What is a RESTful API?

A RESTful API (Representational State Transfer) is an architectural style for designing networked applications. It uses a set of constraints and principles to create scalable, maintainable, and high-performance web services.

In the context of ASP.NET Web API, a RESTful API is built on top of the Microsoft .NET framework, allowing developers to create HTTP services that can be consumed by a variety of clients, including web browsers, mobile devices, and other servers.

Why Learn ASP.NET Web API?

ASP.NET Web API is a powerful and versatile framework that enables developers to build RESTful services with ease. By learning how to create secure and efficient APIs, you will not only enhance your programming skills but also open doors to new opportunities in the ever-evolving world of web development.

Some benefits of learning ASP.NET Web API include:

  • Seamless integration with the .NET ecosystem
  • Support for various data formats (JSON, XML, etc.)
  • A strong community and extensive documentation
  • Customizable and extensible components

With our beginners tutorial, you'll be well on your way to mastering ASP.NET Web API programming. So, let's get started on this exciting learning journey!

// Example code to showcase a simple ASP.NET Web API controller
using System.Web.Http;

public class ExampleController : ApiController
{
    [HttpGet]
    public IHttpActionResult Get()
    {
        return Ok("Hello, World!");
    }
}

Setting Up Your Development Environment

Before diving into the world of ASP.NET Web API programming, it's essential to have a well-configured development environment. In this tutorial, we'll guide you through the process of setting up the necessary tools and software to ensure a smooth learning experience.

Prerequisites

To follow along with the examples and practice in this series, you should have a basic understanding of:

  • C# programming language
  • .NET framework
  • HTML, CSS, and JavaScript

If you are new to these topics, we recommend you learn the basics before proceeding with the ASP.NET Web API tutorials.

Installing Visual Studio

Microsoft Visual Studio is a popular integrated development environment (IDE) for .NET developers. It offers a comprehensive suite of tools and features to simplify ASP.NET Web API development. You can download the free Community Edition or choose a paid version, depending on your needs.

  1. Visit the Visual Studio download page
  2. Download the installer for Visual Studio Community Edition
  3. Run the installer and follow the prompts to complete the installation

During the installation process, you'll be prompted to select the workloads you want to install. Ensure that you choose the "ASP.NET and web development" workload, which includes the necessary components for building RESTful services with ASP.NET Web API.

Installing .NET SDK

The .NET SDK (Software Development Kit) is a set of tools and libraries that allows developers to create, build, and run .NET applications. To develop ASP.NET Web API applications, you'll need to have the .NET SDK installed on your machine.

  1. Visit the .NET download page
  2. Download the installer for the latest .NET SDK
  3. Run the installer and follow the prompts to complete the installation

Creating Your First ASP.NET Web API Project

With your development environment set up, you can now create your first ASP.NET Web API project. Follow these steps:

  1. Open Visual Studio
  2. Click on "Create a new project"
  3. Choose the "ASP.NET Core Web Application" template and click "Next"
  4. Enter a name and location for your project, then click "Create"
  5. In the "New ASP.NET Core Web Application" dialog, select "API" and click "Create"

Visual Studio will generate a new ASP.NET Web API project with a basic structure and sample code. You can now start exploring the code and get started with your learning journey.

In the next tutorial, we'll dive into designing RESTful API endpoints and implementing the essential features of an ASP.NET Web API application. Stay tuned, and keep learning!

Designing RESTful API Endpoints

Now that your development environment is set up, it's time to dive into the heart of ASP.NET Web API programming: designing and implementing RESTful API endpoints. In this tutorial, we'll cover the basics of API design and guide you through the process of creating endpoints that follow best practices and conventions.

Understanding RESTful Principles

A RESTful API follows a set of principles and constraints that ensure its scalability, maintainability, and performance. To design efficient and effective API endpoints, it's crucial to understand and apply these principles:

  1. Statelessness: Each API request should contain all the information needed to process it, without relying on the server's memory of previous requests.
  2. Client-Server: The client and server are separate entities that communicate via requests and responses, allowing for independent evolution and scalability.
  3. Cacheability: Responses can be cached on the client-side, improving performance and reducing server load.
  4. Layered System: The architecture can be composed of multiple layers, each with a specific responsibility, promoting separation of concerns and modularity.

Planning Your API

Before diving into the code, it's a good practice to plan your API by defining its resources, endpoints, and HTTP methods. Consider the following steps when planning your API:

  1. Identify the resources your API will manage (e.g., users, products, orders).
  2. Determine the endpoints for each resource, following a consistent naming convention (e.g., /api/users, /api/products).
  3. Choose the appropriate HTTP methods for each endpoint to represent the CRUD operations (Create, Read, Update, Delete).

Creating Endpoints in ASP.NET Web API

In ASP.NET Web API, endpoints are created by defining controller classes that inherit from ApiController. Each public method in the controller represents an API endpoint and handles a specific HTTP method (e.g., GET, POST, PUT, DELETE).

Here's an example of a simple ProductsController with two endpoints: one for retrieving all products and another for retrieving a single product by its ID.

using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;

[Route("api/products")]
public class ProductsController : ControllerBase
{
    [HttpGet]
    public ActionResult<IEnumerable<Product>> GetAll()
    {
        // Retrieve and return all products
    }

    [HttpGet("{id}")]
    public ActionResult<Product> GetById(int id)
    {
        // Retrieve and return the product with the specified ID
    }
}

As you learn and progress through the tutorials, you'll explore more advanced topics and techniques for creating efficient and secure API endpoints.

In the next tutorial, we'll dive into implementing authentication and authorization in your ASP.NET Web API application, ensuring the security and privacy of your API's data. Keep up the good work, and continue learning!

Implementing Authentication & Authorization

As you continue your journey in ASP.NET Web API programming, one crucial aspect you need to consider is securing your API by implementing authentication and authorization. In this tutorial, we'll explain the differences between these two concepts and guide you through the process of securing your API endpoints.

Authentication vs. Authorization

  • Authentication refers to the process of verifying a user's identity. In the context of an API, this typically involves validating a user's credentials (e.g., username and password) and generating a token that represents the user's session.
  • Authorization is the process of determining what actions a user is allowed to perform, based on their assigned roles or permissions. For an API, this might involve checking if a user has the necessary privileges to access or modify a specific resource.

Securing Your API with JWT Authentication

JSON Web Tokens (JWT) is a popular standard for securely transmitting information between parties as a JSON object. JWT is often used for authentication and authorization in APIs, as it allows for stateless and scalable solutions.

To implement JWT authentication in your ASP.NET Web API application, follow these steps:

  1. Install the Microsoft.AspNetCore.Authentication.JwtBearer NuGet package.
  2. Configure JWT authentication in the Startup.cs file.
    using Microsoft.IdentityModel.Tokens;
    
    // ...
    
    public void ConfigureServices(IServiceCollection services)
    {
        // ...
    
        // Add JWT authentication
        services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
            .AddJwtBearer(options =>
            {
                options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer = true,
                    ValidateAudience = true,
                    ValidateLifetime = true,
                    ValidateIssuerSigningKey = true,
                    ValidIssuer = Configuration["Jwt:Issuer"],
                    ValidAudience = Configuration["Jwt:Audience"],
                    IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Jwt:SecretKey"]))
                };
            });
    }
    
  3. Enable authentication middleware in the Configure method of Startup.cs.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ...
    
        // Enable authentication middleware
        app.UseAuthentication();
    
        // ...
    }
    
  4. Add the [Authorize] attribute to controllers or actions that require authentication.
    using Microsoft.AspNetCore.Authorization;
    
    [Authorize]
    public class SecureController : ControllerBase
    {
        // ...
    }
    

Role-Based Authorization

To implement role-based authorization in your API, you can use the [Authorize] attribute with the Roles property.

[Authorize(Roles = "Admin")]
public class AdminController : ControllerBase
{
    // ...
}

With this configuration, only users with the "Admin" role can access the endpoints in the AdminController.

In the next tutorial, we'll explore how to secure data transmission with HTTPS, further enhancing the security of your ASP.NET Web API application. Stay motivated and keep up the learning!

Securing Data Transmission with HTTPS

As you develop your ASP.NET Web API application, it's essential to ensure the security of data transmitted between the client and server. In this tutorial, we'll discuss how to secure your API's data transmission using HTTPS (Hypertext Transfer Protocol Secure).

Understanding HTTPS

HTTPS is a secure version of the HTTP protocol that encrypts data exchanged between the client and server, preventing unauthorized access and tampering. It uses Transport Layer Security (TLS) or its predecessor, Secure Sockets Layer (SSL), to establish a secure communication channel.

Implementing HTTPS in your API not only helps protect sensitive data but also builds trust among users and may even improve your search engine ranking.

Enforcing HTTPS in ASP.NET Web API

In ASP.NET Core, HTTPS is enabled by default in new projects. However, it's crucial to ensure that HTTPS is enforced throughout your application to maintain a secure environment. Follow these steps to enforce HTTPS in your ASP.NET Web API:

  1. Redirect HTTP to HTTPS: Configure your application to redirect all HTTP requests to their HTTPS equivalents. In the Configure method of your Startup.cs file, add the following code:
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ...
    
        // Redirect HTTP to HTTPS
        app.UseHttpsRedirection();
    
        // ...
    }
    
  2. Require HTTPS for API endpoints: To ensure that all API endpoints use HTTPS, apply the [RequireHttps] attribute to your controllers. This attribute forces the use of HTTPS and returns a 400 Bad Request response for non-secure requests.
    using Microsoft.AspNetCore.Mvc;
    
    [RequireHttps]
    public class SecureApiController : ControllerBase
    {
        // ...
    }
    
  3. Use HSTS (HTTP Strict Transport Security): HSTS is a web security policy that instructs browsers to always use HTTPS when communicating with your API. To enable HSTS in your application, add the following code to the ConfigureServices method of your Startup.cs file:
    public void ConfigureServices(IServiceCollection services)
    {
        // ...
    
        // Enable HSTS
        services.AddHsts(options =>
        {
            options.Preload = true;
            options.IncludeSubDomains = true;
            options.MaxAge = TimeSpan.FromDays(60);
        });
    
        // ...
    }
    

And enable the HSTS middleware in the Configure method:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...

    // Enable HSTS middleware
    app.UseHsts();

    // ...
}

API Versioning and Best Practices

As you progress in ASP.NET Web API programming, it's essential to consider the long-term maintainability and stability of your API. One crucial aspect of this is API versioning. In this tutorial, we'll discuss API versioning concepts and best practices to ensure your API remains consistent and stable while accommodating changes and new features.

Understanding API Versioning

API versioning is the practice of introducing new versions of your API to maintain backward compatibility while implementing changes that could potentially break existing clients. This approach allows you to update and enhance your API without disrupting existing users, providing a smooth transition to new functionality.

Versioning Strategies

There are several strategies to implement API versioning in ASP.NET Web API. Here are some popular approaches:

  1. URI versioning: Include the API version in the URI (e.g., /api/v1/users, /api/v2/users). This approach is straightforward and easy to understand but can be considered less RESTful, as URIs should ideally represent resources, not versions.
  2. Query string versioning: Include the API version as a query parameter (e.g., /api/users?version=1, /api/users?version=2). This method maintains the RESTful nature of the API but can be harder to manage and discover.
  3. Header versioning: Specify the API version using custom HTTP headers (e.g., api-version: 1, api-version: 2). This approach keeps the URI clean and is more RESTful but requires additional client-side configuration.

Implementing API Versioning in ASP.NET Web API

ASP.NET Core offers built-in support for API versioning. To implement API versioning in your application, follow these steps:

  1. Install the Microsoft.AspNetCore.Mvc.Versioning NuGet package.
  2. Configure API versioning in the Startup.cs file:
    public void ConfigureServices(IServiceCollection services)
    {
        // ...
    
        // Configure API versioning
        services.AddApiVersioning(options =>
        {
            options.DefaultApiVersion = new ApiVersion(1, 0);
            options.AssumeDefaultVersionWhenUnspecified = true;
            options.ReportApiVersions = true;
        });
    
        // ...
    }
    
  3. Apply versioning to your controllers using the [ApiVersion] attribute:
    [ApiVersion("1.0")]
    [Route("api/v{version:apiVersion}/users")]
    public class UsersController : ControllerBase
    {
        // ...
    }
    

Best Practices for API Versioning

Here are some best practices to consider when implementing API versioning:

  • Plan for versioning from the start: Even if you don't anticipate significant changes, it's a good idea to plan for versioning from the beginning to accommodate future updates.
  • Minimize breaking changes: Whenever possible, avoid making breaking changes to your API. If you must introduce breaking changes, ensure that you communicate them clearly to users and provide a reasonable transition period.
  • Deprecate old versions gracefully: When retiring old API versions, give users ample notice and provide clear migration paths to newer versions.
  • Document your API: Maintain clear and up-to-date documentation for all API versions, helping users understand the differences between versions and facilitating smooth transitions.

With API versioning in place, you can ensure a consistent and stable API while adapting to changes and new features, enhancing the overall experience for your users.

In the next tutorial, we'll discuss testing your ASP.NET Web API application to validate its functionality and ensure its reliability. Keep going and continue learning!

Error Handling and Logging

As you advance in ASP.NET Web API programming, one crucial aspect of building a robust and reliable API is implementing proper error handling and logging. In this tutorial, we'll discuss best practices for handling errors, creating custom error responses, and logging errors to facilitate troubleshooting and maintenance.

Understanding Error Handling

Error handling is the process of detecting and managing exceptions or unexpected situations that occur during the execution of your API. A well-designed error handling strategy provides meaningful error messages and responses to clients, making it easier to identify and resolve issues.

Handling Exceptions in ASP.NET Web API

ASP.NET Core provides built-in support for handling exceptions through middleware. The UseExceptionHandler middleware can be used to catch exceptions and create custom error responses.

To configure exception handling in your ASP.NET Web API, follow these steps:

  1. In the Configure method of your Startup.cs file, add the UseExceptionHandler middleware:
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ...
    
        // Configure exception handling
        app.UseExceptionHandler("/error");
    
        // ...
    }
    
  2. Create a dedicated ErrorController to handle the error route:
    [ApiController]
    public class ErrorController : ControllerBase
    {
        [Route("/error")]
        public IActionResult Error()
        {
            // Create a custom error response
            return Problem(
                detail: "An error has occurred. Please try again later.",
                statusCode: StatusCodes.Status500InternalServerError
            );
        }
    }
    

Logging Errors

Logging errors is a crucial part of maintaining and troubleshooting your API. ASP.NET Core provides built-in support for logging through the ILogger interface, allowing you to log errors, warnings, and other information.

To log errors in your ASP.NET Web API application, follow these steps:

  1. Inject an ILogger instance into your controller or class:
    private readonly ILogger _logger;
    
    public MyController(ILogger<MyController> logger)
    {
        _logger = logger;
    }
    
  2. Use the _logger instance to log errors, warnings, or other information:
    try
    {
        // Execute some operation that may throw an exception
    }
    catch (Exception ex)
    {
        _logger.LogError(ex, "An error occurred while processing the request.");
    }
    

ASP.NET Core supports various logging providers, such as Console, Debug, EventSource, and third-party providers like Serilog, NLog, and more. You can configure logging providers and settings in the appsettings.json file or the ConfigureServices method of your Startup.cs file.

Best Practices for Error Handling and Logging

Here are some best practices to consider when implementing error handling and logging:

  • Avoid exposing sensitive information: Ensure that your error responses do not disclose sensitive data or implementation details that could be exploited by malicious users.
  • Use appropriate HTTP status codes: Assign meaningful and appropriate HTTP status codes to your error responses to help clients understand the nature of the error.
  • Log detailed error information: Log as much information as possible about the error, including stack traces, request data, and user information, to help identify and resolve issues.
  • Monitor and analyze logs: Regularly review and analyze your logs to identify recurring issues, performance bottlenecks, and potential security threats.

With proper error handling and logging in place, your ASP.NET Web API application will be more robust, reliable, and easier to maintain.

In the next tutorial, we'll discuss monitoring and performance optimization techniques for your ASP.NET Web API application, ensuring its scalability and efficiency. Keep up the great work and continue learning!

Testing and Deploying Secure APIs

As you continue to advance in ASP.NET Web API programming, testing and deploying secure APIs are essential steps towards building reliable and robust applications. In this tutorial, we'll discuss best practices for testing your API, ensuring its security, and deploying it to production.

Testing Your API

Testing is a crucial aspect of the API development process, helping you identify and resolve issues, validate functionality, and ensure reliability. There are different types of tests you can perform on your API, including:

  1. Unit tests: These tests focus on individual components or functions in isolation, verifying that they work as expected.
  2. Integration tests: These tests validate the interactions between components, ensuring that they work together correctly.
  3. End-to-end (E2E) tests: These tests simulate real-world usage scenarios, verifying that the entire system functions correctly from the user's perspective.

To perform testing in your ASP.NET Web API application, you can use built-in testing libraries like xUnit, MSTest, or NUnit, along with ASP.NET Core TestHost for integration testing.

Ensuring API Security

Before deploying your API, it's crucial to ensure its security. Some best practices for securing your API include:

  1. Use HTTPS: Enforce HTTPS for all API endpoints to ensure the privacy and integrity of data transmitted between the client and server.
  2. Implement authentication and authorization: Use authentication mechanisms like JWT and role-based authorization to control access to your API.
  3. Validate input data: Implement server-side validation of input data to prevent injection attacks and other security vulnerabilities.
  4. Limit rate: Implement rate limiting to prevent abuse of your API by malicious users or bots.
  5. Monitor and log: Regularly monitor and analyze logs to identify potential security threats and performance issues.

Deploying Your API

Once your API has been thoroughly tested and secured, it's time to deploy it to production. There are various hosting options available for ASP.NET Web API applications, including:

  1. Azure App Service: A fully managed platform for building, deploying, and scaling web apps, including support for ASP.NET Core applications.
  2. Azure Kubernetes Service (AKS): A managed Kubernetes service that simplifies container orchestration and deployment, providing greater scalability and flexibility.
  3. IIS (Internet Information Services): A popular web server for hosting ASP.NET applications on Windows-based servers.
  4. Linux and other cloud providers: You can also deploy your ASP.NET Core application on Linux servers or other cloud providers like AWS, Google Cloud Platform, or Heroku.

To deploy your API, follow the hosting provider's documentation and best practices, ensuring that your application is configured correctly for production environments.

Best Practices for Testing and Deploying APIs

Here are some best practices to consider when testing and deploying your API:

  • Use continuous integration and deployment (CI/CD) pipelines: Automate your testing and deployment processes using CI/CD tools like Azure DevOps, GitHub Actions, or Jenkins to ensure consistent and reliable releases.
  • Test in production-like environments: Test your API in environments that closely resemble production to catch issues that may not be apparent during development or in staging environments.
  • Monitor and optimize performance: Regularly monitor your API's performance, using tools like Application Insights, New Relic, or Datadog, to identify bottlenecks and optimize resource usage.
  • Plan for scalability: Design your API with scalability in mind, considering factors like load balancing, caching, and distributed architectures to accommodate growing user bases and increased demand.

By following these best practices, you'll be able to test, secure, and deploy your ASP.NET Web API application with confidence, ensuring its reliability and robust.

In conclusion, mastering ASP.NET Web API programming involves learning and implementing various concepts and techniques that contribute to building robust, secure, and scalable APIs. Throughout this tutorial series, we've covered essential topics such as getting started with ASP.NET Web API, securing RESTful services, implementing API versioning, handling errors and logging, testing and deploying secure APIs, and more.

By understanding and applying these concepts and best practices, you'll be well-equipped to develop reliable, secure, and high-performance APIs that provide a solid foundation for your applications. As you continue your journey in learning ASP.NET Web API, remember to stay up-to-date with the latest advancements and community best practices to ensure that your APIs remain efficient, secure, and maintainable.

Keep up the great work, and never stop learning!

ASP.NET Web API: Secure RESTful Services PDF eBooks

ASP.NET Web Programming

The ASP.NET Web Programming is a beginner level PDF e-book tutorial or course with 38 pages. It was added on October 21, 2015 and has been downloaded 4776 times. The file size is 1.15 MB. It was created by Hans-Petter Halvorsen.


ASP.NET and Web Programming

The ASP.NET and Web Programming is a beginner level PDF e-book tutorial or course with 38 pages. It was added on October 13, 2014 and has been downloaded 6892 times. The file size is 1.73 MB. It was created by Telemark University College.


ASP.Net for beginner

The ASP.Net for beginner is level PDF e-book tutorial or course with 265 pages. It was added on December 11, 2012 and has been downloaded 7736 times. The file size is 11.83 MB.


Tutorial on Web Services

The Tutorial on Web Services is an intermediate level PDF e-book tutorial or course with 81 pages. It was added on February 27, 2014 and has been downloaded 1474 times. The file size is 339.16 KB. It was created by Alberto Manuel Rodrigues da Silva.


Introduction to ASP.NET Web Development

The Introduction to ASP.NET Web Development is level PDF e-book tutorial or course with 36 pages. It was added on December 11, 2012 and has been downloaded 4944 times. The file size is 792.33 KB.


Course ASP.NET

The Course ASP.NET is level PDF e-book tutorial or course with 67 pages. It was added on December 11, 2012 and has been downloaded 3820 times. The file size is 786.29 KB.


ASP.NET MVC Music Store

The ASP.NET MVC Music Store is a beginner level PDF e-book tutorial or course with 136 pages. It was added on February 29, 2016 and has been downloaded 4937 times. The file size is 3.05 MB. It was created by Jon Galloway - Microsoft.


Getting started with MVC3

The Getting started with MVC3 is a beginner level PDF e-book tutorial or course with 81 pages. It was added on December 26, 2013 and has been downloaded 3939 times. The file size is 1.8 MB. It was created by Scott Hanselman.


Web Services with Examples

The Web Services with Examples is a beginner level PDF e-book tutorial or course with 49 pages. It was added on October 21, 2015 and has been downloaded 4283 times. The file size is 1.95 MB. It was created by Hans-Petter Halvorsen.


The Entity Framework and ASP.NET

The The Entity Framework and ASP.NET is level PDF e-book tutorial or course with 107 pages. It was added on December 11, 2012 and has been downloaded 3433 times. The file size is 1.7 MB.


Web API Design: The Missing Link

The Web API Design: The Missing Link is a beginner level PDF e-book tutorial or course with 65 pages. It was added on March 20, 2023 and has been downloaded 177 times. The file size is 419.13 KB. It was created by google cloud.


Network Infrastructure Security Guide

The Network Infrastructure Security Guide is a beginner level PDF e-book tutorial or course with 60 pages. It was added on May 9, 2023 and has been downloaded 610 times. The file size is 445.85 KB. It was created by National Security Agency.


Introduction to VB.NET manual

The Introduction to VB.NET manual is level PDF e-book tutorial or course with 327 pages. It was added on December 9, 2012 and has been downloaded 13956 times. The file size is 3.17 MB.


VB.NET Tutorial for Beginners

The VB.NET Tutorial for Beginners is a beginner level PDF e-book tutorial or course with 243 pages. It was added on March 7, 2014 and has been downloaded 27402 times. The file size is 3.46 MB. It was created by ANJAN’S.


Web API Design

The Web API Design is an intermediate level PDF e-book tutorial or course with 70 pages. It was added on September 17, 2014 and has been downloaded 9890 times. The file size is 1.17 MB. It was created by gidgreen.com.


.NET Tutorial for Beginners

The .NET Tutorial for Beginners is a beginner level PDF e-book tutorial or course with 224 pages. It was added on June 25, 2016 and has been downloaded 9956 times. The file size is 1.63 MB. It was created by India Community Initiative.


REST API Developer Guide

The REST API Developer Guide is a beginner level PDF e-book tutorial or course with 405 pages. It was added on March 20, 2023 and has been downloaded 344 times. The file size is 1.74 MB. It was created by Salesforce.


Learning .net-core

The Learning .net-core is a beginner level PDF e-book tutorial or course with 26 pages. It was added on July 14, 2022 and has been downloaded 1099 times. The file size is 151.75 KB. It was created by Stack Overflow.


Introduction to Visual Basic.NET

The Introduction to Visual Basic.NET is a beginner level PDF e-book tutorial or course with 66 pages. It was added on December 9, 2012 and has been downloaded 11994 times. The file size is 1.63 MB. It was created by Abel Angel Rodriguez.


.NET Book Zero

The .NET Book Zero is a beginner level PDF e-book tutorial or course with 267 pages. It was added on January 19, 2017 and has been downloaded 4104 times. The file size is 967.75 KB. It was created by Charles Petzold.


OS X Lion Server Essentials

The OS X Lion Server Essentials is level PDF e-book tutorial or course with 72 pages. It was added on December 8, 2013 and has been downloaded 1281 times. The file size is 1016.85 KB.


Tangelo Web Framework Documentation

The Tangelo Web Framework Documentation is a beginner level PDF e-book tutorial or course with 80 pages. It was added on February 22, 2016 and has been downloaded 2078 times. The file size is 457.11 KB. It was created by Kitware, Inc..


Flask Documentation

The Flask Documentation is a beginner level PDF e-book tutorial or course with 291 pages. It was added on February 28, 2023 and has been downloaded 382 times. The file size is 1.07 MB. It was created by Pallets.


Building Web Apps with Go

The Building Web Apps with Go is a beginner level PDF e-book tutorial or course with 39 pages. It was added on January 12, 2017 and has been downloaded 9580 times. The file size is 370.25 KB. It was created by Jeremy Saenz.


Beginners Guide to C# and the .NET

The Beginners Guide to C# and the .NET is a beginner level PDF e-book tutorial or course with 58 pages. It was added on December 26, 2013 and has been downloaded 8446 times. The file size is 618.34 KB. It was created by Gus Issa (GHI Electronics, LLC).


Uploading files to a web server using SSH

The Uploading files to a web server using SSH is a beginner level PDF e-book tutorial or course with 8 pages. It was added on August 13, 2014 and has been downloaded 941 times. The file size is 215.66 KB. It was created by University of Bristol Information Services.


Using SQL Server in C# with Examples

The Using SQL Server in C# with Examples is an intermediate level PDF e-book tutorial or course with 21 pages. It was added on October 20, 2015 and has been downloaded 10682 times. The file size is 303.45 KB. It was created by Hans-Petter Halvorsen.


The SSH Protocol

The The SSH Protocol is a beginner level PDF e-book tutorial or course with 13 pages. It was added on November 7, 2017 and has been downloaded 856 times. The file size is 97.31 KB. It was created by Duncan Napier.


Secure Wired and WiFi Communications

The Secure Wired and WiFi Communications is a beginner level PDF e-book tutorial or course with 91 pages. It was added on November 27, 2017 and has been downloaded 2347 times. The file size is 529.41 KB. It was created by Avinash Kak, Purdue University.


Learning .NET Framework

The Learning .NET Framework is a beginner level PDF e-book tutorial or course with 241 pages. It was added on February 17, 2019 and has been downloaded 2685 times. The file size is 1.03 MB. It was created by Stack Overflow Documentation.


it courses