Enterprise Framework

Software Solutions in the Enterprise

How To : Visual Studio 2013 : Web Performance and Load Test Project : Web Test : Web Service : Use CSV File

Visual Studio 2013

Web Service Load Test for a Web Service Call using a CSV

  1. From Existing Solution:
    1. Right click Solution > Add New Project > Visual C# > Test > Web Performance and Load Test Project
    2. Type a name in the Name: MyWebPerformanceAndLoadTestProject
    3. Click OK
  2. Right click MyWebPerformanceAndLoadTestProject > Add > Web Performance Test
    1. In main content panel, right click WebTest1 > Add Data Source
      1. New Test Data Source Wizard:
        1. Select the type of data source
          1. Set Data source name : DataSource1
          2. Click CSV File
          3. Click Next >
        2. Select the CSV file the data source is based on
          1. Click ellipses ...
          2. Choose a CSV file.
            1. (NOTE:  Recommended that he first line is the labels for the csv)
              1. Example:
              2. UserId
          3. Click Finish
    2. In main content panel of WebTest1.webtest
      1. Right click WebTest1 > Add Web Service Request
        1. Right click http://localhost/ > Properties
        2. Set the url to the web service end point
          1. Set Url: http://localhost:64093/api/user
        3. Expand the url http://localhost:64093/api/user
          1. Right ClickString Body > Properties
          2. Set Content Type : application/json
          3. String Body > Click Ellipsis ...
            "UserId": "{{DataSource1.UserId#csv.UserId}}"
            (NOTE: Using {{DataSource1.UserId#csv.UserId}} will set the value from the CSV.)
    3. Click Save

List of No SQL Databases

List of No SQL Databases

MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database.
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

Popular, blazing fast open source enterprise search platform from the Apache LuceneTMproject

Amazon SimpleDB is a highly available and flexible non-relational data store that offloads the work of database administration. Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest.

Unbound by the strict requirements of a relational database, Amazon SimpleDB is optimized to provide high availability and flexibility, with little or no administrative burden. Behind the scenes, Amazon SimpleDB creates and manages multiple geographically distributed replicas of your data automatically to enable high availability and data durability. The service charges you only for the resources actually consumed in storing your data and serving your requests. You can change your data model on the fly, and data is automatically indexed for you. With Amazon SimpleDB, you can focus on application development without worrying about infrastructure provisioning, high availability, software maintenance, schema and index management, or performance tuning.

The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.

Cassandra's data model offers the convenience of column indexes with the performance of log-structured updates, strong support for denormalization and materialized views, and powerful built-in caching.

The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.

Elasticsearch is a highly scalable open-source full-text search and analytics engine. It allows you to store, search, and analyze big volumes of data quickly and in near real time. It is generally used as the underlying engine/technology that powers applications that have complex search features and requirements.
CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript. CouchDB works well with modern web and mobile apps. You can even serve web apps directly out of CouchDB. And you can distribute your data, or your apps, efficiently using CouchDB’s incremental replication. CouchDB supports master-master setups with automatic conflict detection.

RavenDB is a transactional, open-source Document Database written in .NET, and offering a flexible data model designed to address requirements coming from real-world systems. RavenDB allows you to build high-performance, low-latency applications quickly and efficiently.

DynamoDB is a fast, fully managed NoSQL database service that makes it simple and cost-effective to store and retrieve any amount of data, and serve any level of request traffic. Its reliable throughput and single-digit millisecond latency make it a great fit for gaming, ad tech, mobile and many other applications.

Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects. Berkeley DB provides a collection of well-proven building-block technologies that can be configured to address any application need from the hand-held device to the datacenter, from a local storage solution to a world-wide distributed one, from kilobytes to petabytes.

Helpful Links : Cool Technology : Microsoft : ASP.NET : SignalR (Latest Version 2.0)

What is SignalR

ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easy. SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available. SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization.

Helpful Links : Microsoft : Documentation : Better Unit Testing with Microsoft Fakes (Published April 2014)

Visual Studio 2013

Microsoft has published a document that represents the current view of Microsoft on Unit Tests from the Visual Studio ALM (Application Lifecycle Management)  Rangers Team.

          Website: Visual Studio Test Tooling Guides

Also there is additional documentation:

Here is the documentation for download:

The guidance includes the following artifacts:

  • Poster - Encountering IntelliTrace technology in DevOps
  • Poster - Resolving bugs in DevOps with the help of IntelliTrace
  • Cheatsheet - Build Master DevOps and IntelliTrace Checklist
  • Cheatsheet - IntelliTrace Cheat Sheet
  • Cheatsheet - Ops view of DevOps and IntelliTrace
  • Hands-on Lab - Build (Symbols Configuration & Build)
  • Hands-on Lab - Dev (Client Side No Symbols Found Resolution)
  • Hands-on Lab - Ops (Collection for WPF Rich Client)
  • Quick Reference Guide - Developer view of DevOps and IntelliTrace
Additional Helpful links:

How To : Microsoft : Windows 7 : Certificate : Permissions

Managing Permissions for Certificates on Windows 7

While doing development on a Windows 7 system you may need to use a certificate.  If you use a certificate, you will need to assign yourself the correct permissions to use it. In the below example I assign permission to the Network Service account and myself. Previously you would have use the WSE 3.0 Certificates Tool to assign permissions.  Now you can use MMC Certificates Snap In

After you run MMC >Certificates Add In

  1. Right click on the Certificate > All Tasks > Manage Private Keys
  2. Assign Network Service and Your self permissions to the certificate