1+ < div class ="gfm "> < table >
2+ < thead >
3+ < tr >
4+ < th > name</ th >
5+ < th > default</ th >
6+ < th > description</ th >
7+ </ tr >
8+ </ thead >
9+ < tbody >
10+ < tr >
11+ < td > bind</ td >
12+ < td > localhost</ td >
13+ < td > Which hostname to bind .NET Core Server to</ td >
14+ </ tr >
15+ < tr >
16+ < td > ssl</ td >
17+ < td > true</ td >
18+ < td > Use https for .NET Core Server</ td >
19+ </ tr >
20+ < tr >
21+ < td > port</ td >
22+ < td > 5001</ td >
23+ < td > Which port to bind .NET Core Server to</ td >
24+ </ tr >
25+ < tr >
26+ < td > name</ td >
27+ < td > Sharp App</ td >
28+ < td > AppHost name (also used in Shortcuts)</ td >
29+ </ tr >
30+ < tr >
31+ < td > debug</ td >
32+ < td > ASP.NET Default</ td >
33+ < td > Enable additional logging & diagnostics</ td >
34+ </ tr >
35+ < tr >
36+ < td > contentRoot</ td >
37+ < td > app.settings dir</ td >
38+ < td > ASP.NET Content Root Directory</ td >
39+ </ tr >
40+ < tr >
41+ < td > webRoot</ td >
42+ < td > wwwroot/</ td >
43+ < td > ASP.NET Web Root Directory</ td >
44+ </ tr >
45+ < tr >
46+ < td > apiPath</ td >
47+ < td > /api</ td >
48+ < td > Path of Sharp APIs</ td >
49+ </ tr >
50+ < tr >
51+ < td > defaultRedirect</ td >
52+ < td > </ td >
53+ < td > Default Fallback RedirectPath</ td >
54+ </ tr >
55+ < tr >
56+ < td > db</ td >
57+ < td > </ td >
58+ < td > OrmLite Dialect: sqlite, sqlserver, mysql postgres</ td >
59+ </ tr >
60+ < tr >
61+ < td > db.connection</ td >
62+ < td > </ td >
63+ < td > RDBMS Connection String</ td >
64+ </ tr >
65+ < tr >
66+ < td > redis.connection</ td >
67+ < td > </ td >
68+ < td > ServiceStack.Redis Connection String</ td >
69+ </ tr >
70+ < tr >
71+ < td > files</ td >
72+ < td > </ td >
73+ < td > VFS provider: filesystem, s3, azureblob</ td >
74+ </ tr >
75+ < tr >
76+ < td > files.config</ td >
77+ < td > </ td >
78+ < td > Virtual File System JS Object Configuration</ td >
79+ </ tr >
80+ < tr >
81+ < td > checkForModifiedPagesAfterSecs</ td >
82+ < td > </ td >
83+ < td > How long to check backing VFS provider for changes</ td >
84+ </ tr >
85+ < tr >
86+ < td > defaultFileCacheExpirySecs</ td >
87+ < td > </ td >
88+ < td > How long to preserve static file caches for</ td >
89+ </ tr >
90+ < tr >
91+ < td > defaultUrlCacheExpirySecs</ td >
92+ < td > </ td >
93+ < td > How long to preserve URL caches for</ td >
94+ </ tr >
95+ < tr >
96+ < td > features</ td >
97+ < td > </ td >
98+ < td > List of plugins to load</ td >
99+ </ tr >
100+ < tr >
101+ < td > markdownProvider</ td >
102+ < td > MarkDig</ td >
103+ < td > Markdown provider: MarkdownDeep, Markdig</ td >
104+ </ tr >
105+ < tr >
106+ < td > jsMinifier</ td >
107+ < td > NUglify</ td >
108+ < td > JS Minifier: NUglify, ServiceStack</ td >
109+ </ tr >
110+ < tr >
111+ < td > cssMinifier</ td >
112+ < td > NUglify</ td >
113+ < td > CSS Minifier: NUglify, ServiceStack</ td >
114+ </ tr >
115+ < tr >
116+ < td > htmlMinifier</ td >
117+ < td > NUglify</ td >
118+ < td > HTML Minifier: NUglify, ServiceStack</ td >
119+ </ tr >
120+ < tr >
121+ < td > icon</ td >
122+ < td > favicon.ico</ td >
123+ < td > Relative or Absolute Path to Shortcut & Desktop icon</ td >
124+ </ tr >
125+ < tr >
126+ < td > appName</ td >
127+ < td > </ td >
128+ < td > Unique Id to identify Desktop App (snake-case)</ td >
129+ </ tr >
130+ < tr >
131+ < td > description</ td >
132+ < td > </ td >
133+ < td > Short Description of Desktop App (20-150 chars)</ td >
134+ </ tr >
135+ < tr >
136+ < td > tags</ td >
137+ < td > </ td >
138+ < td > Desktop App Tags space-delimited, snake-case, 3 max</ td >
139+ </ tr >
140+ < tr >
141+ < td > args.*</ td >
142+ < td > </ td >
143+ < td > Any additional rich config args to define in App</ td >
144+ </ tr >
145+ </ tbody >
146+ </ table >
147+ < p > Desktop specific Apps like < a href ="https://github.com/ServiceStack/Studio "> ServiceStack/Studio</ a > enable additional Desktop functionality by
148+ configuring the < a href ="https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Desktop/DesktopFeature.cs "> DesktopFeature</ a > plugin in
149+ < a href ="https://www.nuget.org/packages/ServiceStack.Desktop " rel ="nofollow "> ServiceStack.Desktop</ a > , e.g:</ p >
150+ < div class ="highlight highlight-source-cs "> < pre > < span class ="pl-smi "> Plugins</ span > .< span class ="pl-en "> Add</ span > (< span class ="pl-k "> new</ span > < span class ="pl-en "> DesktopFeature</ span > {
151+ < span class ="pl-c "> < span class ="pl-c "> //</ span > access role for Script, File & Download services</ span >
152+ < span class ="pl-smi "> AccessRole</ span > < span class ="pl-k "> =</ span > < span class ="pl-smi "> Config</ span > .< span class ="pl-smi "> DebugMode</ span >
153+ < span class ="pl-k "> ?</ span > < span class ="pl-smi "> RoleNames</ span > .< span class ="pl-smi "> AllowAnon</ span >
154+ < span class ="pl-k "> :</ span > < span class ="pl-smi "> RoleNames</ span > .< span class ="pl-smi "> Admin</ span > ,
155+ < span class ="pl-smi "> ImportParams</ span > < span class ="pl-k "> =</ span > { < span class ="pl-c "> < span class ="pl-c "> //</ span > app.settings you want auto-populated in your App</ span >
156+ < span class ="pl-s "> < span class ="pl-pds "> "</ span > debug< span class ="pl-pds "> "</ span > </ span > ,
157+ < span class ="pl-s "> < span class ="pl-pds "> "</ span > connect< span class ="pl-pds "> "</ span > </ span > ,
158+ },
159+ < span class ="pl-c "> < span class ="pl-c "> //</ span > Create a URL Scheme proxy rule for each registered site</ span >
160+ < span class ="pl-smi "> ProxyConfigs</ span > < span class ="pl-k "> =</ span > < span class ="pl-smi "> sites</ span > .< span class ="pl-smi "> Keys</ span > .< span class ="pl-en "> Map</ span > (< span class ="pl-smi "> baseUrl</ span > < span class ="pl-k "> =></ span > < span class ="pl-k "> new</ span > < span class ="pl-en "> Uri</ span > (< span class ="pl-smi "> baseUrl</ span > ))
161+ .< span class ="pl-en "> Map</ span > (< span class ="pl-smi "> uri</ span > < span class ="pl-k "> =></ span > < span class ="pl-k "> new</ span > < span class ="pl-en "> ProxyConfig</ span > {
162+ < span class ="pl-smi "> Scheme</ span > < span class ="pl-k "> =</ span > < span class ="pl-smi "> uri</ span > .< span class ="pl-smi "> Scheme</ span > ,
163+ < span class ="pl-smi "> TargetScheme</ span > < span class ="pl-k "> =</ span > < span class ="pl-smi "> uri</ span > .< span class ="pl-smi "> Scheme</ span > ,
164+ < span class ="pl-smi "> Domain</ span > < span class ="pl-k "> =</ span > < span class ="pl-smi "> uri</ span > .< span class ="pl-smi "> Host</ span > ,
165+ < span class ="pl-smi "> AllowCors</ span > < span class ="pl-k "> =</ span > < span class ="pl-c1 "> true</ span > ,
166+ < span class ="pl-smi "> IgnoreHeaders</ span > < span class ="pl-k "> =</ span > { < span class ="pl-s "> < span class ="pl-pds "> "</ span > X-Frame-Options< span class ="pl-pds "> "</ span > </ span > , < span class ="pl-s "> < span class ="pl-pds "> "</ span > Content-Security-Policy< span class ="pl-pds "> "</ span > </ span > },
167+ })
168+ });</ pre > </ div >
169+ </ div >
0 commit comments