1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- ' Copyright (c) .NET Foundation. All rights reserved.
- ' Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
- Imports System.Data.Common
- Imports System.Text.Encodings.Web
- Imports System.Text.Unicode
- Imports Microsoft.AspNetCore.Builder
- Imports Microsoft.AspNetCore.Hosting
- Imports Microsoft.Extensions.Configuration
- Imports Microsoft.Extensions.DependencyInjection
- Imports MySql.Data.MySqlClient
- Imports Npgsql
- Public Class Startup
- Private Configuration As IConfiguration
- Public Sub New(configuration As IConfiguration)
- Me.Configuration = configuration
- End Sub
- Public Sub ConfigureServices(ByVal services As IServiceCollection)
- services.Configure(Of AppSettings)(Configuration)
- services.AddSingleton(Of ConcurrentRandom)()
- Dim appSettings = Configuration.[Get](Of AppSettings)()
- services.AddSingleton(appSettings)
- If appSettings.Database = DatabaseServer.PostgreSql Then
- services.AddSingleton(Of DbProviderFactory)(NpgsqlFactory.Instance)
- services.AddSingleton(Of RawDb)
- ElseIf appSettings.Database = DatabaseServer.MySql Then
- services.AddSingleton(Of DbProviderFactory)(MySqlClientFactory.Instance)
- services.AddSingleton(Of RawDb)
- End If
- Dim settings = New TextEncoderSettings(UnicodeRanges.BasicLatin, UnicodeRanges.Katakana, UnicodeRanges.Hiragana)
- settings.AllowCharacter("—"c)
- services.AddWebEncoders(
- Sub(options)
- options.TextEncoderSettings = settings
- End Sub)
- End Sub
- Public Sub Configure(ByVal app As IApplicationBuilder)
- app.UsePlainText()
- app.UseJson()
- app.UseUtf8Json()
- app.UseFortunesRaw()
- app.UseSingleQueryRaw()
- app.UseMultipleQueriesRaw()
- app.UseMultipleUpdatesRaw()
- End Sub
- End Class
|