• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    C#
  • Created over 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ServiceStackVS - Visual Studio extension for ServiceStack

Follow @ServiceStack or join the Google+ Community for updates, or StackOverflow or the Customer Forums for support.

ServiceStack VS.NET Templates

ServiceStackVS supports Visual Studio 2017, 2015 and 2013 and can be installed from within VS.NET:

Install ServiceStackVS

Install the ServiceStackVS VS.NET Extension by going to Tools > Extensions and Updates...

Then searching the Visual Studio Gallery for ServiceStack

Optionally it can be downloaded and installed from the VS.NET Gallery

VS.NET Gallery Download

Once installed you can create a new ServiceStack Project from the new VS.NET Projects dialog:

ServiceStack VS.NET Templates Dialog

Most of ServiceStack Templates follow our multi-project recommended projects structure.

Visual Studio 2015 or 2013

If you're still using VS.NET 2015 or 2013 you can install the previous VS.NET ServiceStackVS extension:

Recommended Plugins and Tools

To take advantage of all the templates and to improve the development workflow, it's best to get the following Visual Studio plugins/extensions for all available versions of Visual Studio.

ServiceStack VS.NET Templates

This project structure includes examples of a lot of the different tasks that will have to be done while building a single page application to guide developers as their application grows.

These project templates are structured to encourage patterns to help kickstart your new ServiceStack application.

Single Page App Templates

Our goal with our Webpack-powered Single Page App VS.NET templates is to provide access to the best tooling and development experience whilst keeping complexity and required knowledge to an absolute minimum, as such we're constantly researching how we can simplify our SPA templates, using the least moving parts and pick technologies that work seamlessly together whilst offering maximum value for minimal complexity. As the best SPA tooling mandates an npm-based workflow this is a delicate balance of trade-offs as the number of 3rd party JS components, tools, transpilers, scripts and plugins required for building on a modern SPA JS framework can quickly explode - something we actively fight hard against that influences each aspect of our default templates.

Benefits of TypeScript

Centering around TypeScript enables a lot of benefits in both a modern Type Safe language as well as access to the latest JS features whilst being able to target downstream ES5 browsers for broad compatibility. TypeScript is expertly designed and actively developed with frequent releases where new features added are backwards-compatible, intuitive and work well with existing features. Being encapsulated within a single tool means new features doesn't introduce new complexity, i.e. there's no additional config files to learn and little possibility that new TypeScript releases will break existing Apps.

F# Templates

The F# Project templates included in ServiceStackVS extension:

F# templates

These F# templates follow the same recommended multi-project structure used in the C# templates. There's also a community created F# ServiceStack extension for ServiceStack (V3 and V4) projects in different single project configurations.

F# ASP.NET with Freebase API Demo

Below is an example of creating a service that serves data from Freebase, showing F# strengths of concise, readable code taking advantage of ServiceStack's built-in data formats:

About the F# Freebase Demo.

Add ServiceStack Reference

ServiceStack's Add ServiceStack Reference feature shows our initial support for adding generated Native Types to client VS.NET projects using ServiceStackVS - providing a simpler, cleaner and more versatile alternative to WCF's Add Service Reference feature that's built into VS.NET.

The first languages supported are C#, F#, VB.Net and TypeScript, effectively providing a flexible alternative than sharing your DTO assembly with clients, now clients can easily add a reference to a remote ServiceStack instance and update DTO's directly from within VS.NET. This also lays the groundwork and signals our approach on adding support for typed API's in other languages in future. Add a feature request for your favorite language to prioritize support for it sooner!

Our goal with Native Types is to provide an alternative for sharing DTO dlls, that can enable a better dev workflow for external clients who are now able to generate (and update) Typed APIs for your Services from a remote url - reducing the burden and effort required to consume ServiceStack Services whilst benefiting from clients native language strong-typing feedback.

ServiceStackVS offers the generation and updating of these clients through the same context for C#, F# and VB.Net. This gives developers a consistent way of creating and updating your DTOs regardless of your language of choice.

Supported Languages

Example Usage

C# Android PCL Client example

C# Android PCL Client example

VB.NET client talking with C# Server example

CSharp server with VB.Net client example

ServiceStackXS - Xamarin Studio Addin

ServiceStack's Add ServiceStack Reference is now available for Xamarin Studio via the official ServiceStack addin, ServiceStackXS! Just like ServiceStackVS, ServiceStackXS includes Add/Update ServiceStack Reference for use with ServiceStack servers enabling a better workflow for external clients. ServiceStackXS is initially adding support for the following languages.

Disable Update On Save Settings

The default behavior of ServiceStackVS is to update ServiceStack references on save so that you can easily get the latest changes and not work with incorrect or out of date references. Something this behavior might not be desired, so this behavior can be disabled with a servicestack.vsconfig file at the base of the project with these refereces. The following snippet can be pasted into a new file called servicestack.vsconfig at the ase of a project to control this behaviour on a project by project basis.

Example of servicestack.vsconfig
DisableNpmInstallOnSave true
DisableBowerInstallOnSave true
DisableUpdateReferenceOnSave true

To apply this configuration, right click on the appropriate project, select File->Add->New Item, search for Text and add a new file called servicestack.vsconfig. This file is just a key/value pair separated by space with 3 options.

  • DisableNpmInstallOnSave - This disables ServiceStackVS default to update NPM references on the save of a packages.json file*. *=This feature auto disables based on version of VS as to not intefer with other operations performing the NPM install.
  • DisableBowerInstallOnSave - This disables ServiceStackVS default to update Bower references on the save of a bower.json file*. * =This feature auto disables based on version of VS as to not intefer with other operations performing the Bower install.
  • DisableUpdateReferenceOnSave - This disables ServiceStackVS default to update ServiceStack reference files automatically on save.

Feedback

We hope ServiceStackVS helps make ServiceStack developers more productive than ever and we'll look at continue improving it with new features in future. Suggestions and feedback are welcome or raise any issues in the Issues List or submit new feature requests in our UserVoice.

More Repositories

1

ServiceStack

Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
C#
5,367
star
2

redis-windows

Vagrant redis configuration and the binary releases of MS Open Tech redis port of windows
Shell
2,705
star
3

ServiceStack.Redis

.NET's leading C# Redis Client
C#
2,290
star
4

ServiceStack.OrmLite

Fast, Simple, Typed ORM for .NET
C#
1,526
star
5

ServiceStack.Text

.NET's fastest JSON, JSV and CSV Text Serializers
C#
1,220
star
6

ServiceStack.Examples

Example Projects built with ServiceStack, C# RedisClient, OrmLite, etc
HTML
327
star
7

Bundler

Compile & Minify Less/Sass/Stylus/Css/JS/CoffeeScript/LiveScript files. Integrates with MVC and ServiceStack
JavaScript
263
star
8

Stripe

Typed .NET clients for stripe.com REST APIs
C#
194
star
9

redis-config

Configuration, scripts and docs for setting up redis servers and sentinels in popular configurations
Batchfile
102
star
10

Gistlyn

Run Roslyn Gists
TypeScript
82
star
11

ServiceStack.UseCases

Repository contains the projects with common use cases for ServiceStack.
C#
64
star
12

rabbitmq-windows

Installation and configuration instructions for installing Rabbit MQ on windows
C#
60
star
13

Admin

AutoQuery + Admin UI for ServiceStack Projects
C#
50
star
14

ServiceStack.Gap

Creating cross-platform Native Desktop apps with ServiceStack
JavaScript
45
star
15

PocoDynamo

C# .NET Typed POCO Client for AWS Dynamo DB
40
star
16

docs

Home of ServiceStack documentation.
JavaScript
38
star
17

ServiceStack.Aws

ServiceStack adapters and bindings for AWS backend services
C#
32
star
18

ServiceStack.Extras

Related but non-critical resources for the ServiceStack project
JavaScript
26
star
19

dotnet-app

ServiceStack app and web tools for developing ServiceStack's .NET Core Web Apps
C#
23
star
20

servicestack-client

ServiceStack Service Client, Server Events and validation library
TypeScript
20
star
21

Test

Test ServiceStack Services, Features and DTO's
JavaScript
15
star
22

Issues

Issue Tracker for the commercial versions of ServiceStack
11
star
23

ServiceStack.CefGlue

CefGlue bindings for .NET Standard 2.0
C#
11
star
24

MonoTouch.Examples

ServiceStack examples with MonoTouch
C#
11
star
25

Discuss

GitHub Discussions for ServiceStack
11
star
26

ServiceStack.Java

ServiceStack Java Libraries and Apps
Java
10
star
27

servicestack-dart

Dart servicestack client pub
Dart
9
star
28

servicestack-editor

ServiceStack Markdown Editor for Vuetify
Vue
9
star
29

ServiceStack.Swift

Swift support used in ServiceStack
Swift
9
star
30

ServiceStack.Azure

ServiceStack adapters and bindings for Azure backend services
C#
9
star
31

script-unity

Script Unity 3D objects from a #Script Lisp REPL
C#
7
star
32

Studio

ServiceStack Studio
TypeScript
7
star
33

Templates

Popular starting templates and configurations for ServiceStack
JavaScript
6
star
34

servicestack-vue2

Vue controls for ServiceStack Apps
Vue
6
star
35

vuedesktop.com

vuedesktop.com
JavaScript
6
star
36

images

Collection of free images and resources for Websites and Apps
JavaScript
6
star
37

Assets

Image and Web assets used in Docs and Demos
CSS
6
star
38

docs.servicestack.net

ServiceStack Docs built with Razor SSG
JavaScript
5
star
39

servicestack-cli

node.js command-line utilities for ServiceStack
TypeScript
4
star
40

servicestack-vue

Vue3 Tailwind Components
JavaScript
4
star
41

servicestack-angular

Angular controls for ServiceStack Apps
TypeScript
4
star
42

gulp-msdeploy

gulp wrapper for msdeploy
JavaScript
4
star
43

AutoQueryViewer

Back-end services used by AutoQuery Viewer
C#
4
star
44

protoc-api

HTTP API for generating gRPC clients using protoc
C#
3
star
45

servicestack.net

servicestack.net website
JavaScript
3
star
46

ss-utils

npm package for ss-utils.js
JavaScript
3
star
47

servicestack-python

Python ServiceStack Client
Python
3
star
48

WebWin

.NET Core 2.1 Self-Contained Cef Binaries (Windows 64)
2
star
49

Web

Binaries for ServiceStack .NET Core 2.1 Web Apps
2
star
50

jupyter-notebooks

Examples of ServiceStack Jupyter Notebooks
Jupyter Notebook
2
star
51

locode

Locode website
Vue
2
star
52

gistcafe-dart

gist.cafe utils for Dart
Dart
2
star
53

servicestack-react

React controls for ServiceStack Apps
TypeScript
2
star
54

apps

apps.cafe
C#
1
star
55

mix

Maintain web mix gists
C#
1
star
56

vite-plugin-press

Static markdown content for creating blogs, videos
TypeScript
1
star
57

gistcafe-kotlin

gist.cafe utils for Kotlin
Kotlin
1
star
58

ServiceStackIDEA

Jetbrains IDE plugin for ServiceStack
Java
1
star
59

vitepress-docs

C#
1
star
60

gistcafe-deno

gist.cafe utils for Deno
TypeScript
1
star
61

pvq.app

pvq.app website
JavaScript
1
star
62

press-react

Vite React TypeScript Web App with Press Plugin
TypeScript
1
star