Server={host}.postgres.database.azure.com;Database={your_database};Port=5432;User Id={user_id};Password={your_password};Ssl Mode=Require;
, i tried to publish the web api to azure services, but got a deploy error
services.AddDbContext<ApplicationDbContext>(options =>
options.UseNpgsql(
Configuration.GetConnectionString(
"DefaultConnection"));
C:\Program Files\dotnet\sdk\3.1.202\Sdks\Microsoft.NET.Sdk.Publish\targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(140,5): Error : Web deployment task failed. (The value 'Server={host}.postgres.database.azure.com;Database={your_database};Port=5432;User Id={user_id};Password={your_password};Ssl Mode=Require;' is not a valid connection string or an absolute path. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INVALID_CONNECTION_STRING.)
The value 'Server={host}.postgres.database.azure.com;Database={your_database};Port=5432;User Id={user_id};Password={your_password};Ssl Mode=Require;' is not a valid connection string or an absolute path. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INVALID_CONNECTION_STRING.
Keyword not supported: 'port'.
at System.Data.SqlClient.SqlConnectionStringBuilder.GetIndex(String keyword)
at System.Data.SqlClient.SqlConnectionStringBuilder.set_Item(String keyword, Object value)
at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
at System.Data.SqlClient.SqlConnectionStringBuilder..ctor(String connectionString)
at Microsoft.Web.Deployment.ConnectionStringMatcher.RemoveExtraSlashFromDataSourceName(String connectionString)
at Microsoft.Web.Deployment.ConnectionStringMatcher.GetStandardConnectionString(String userConnectionString, Boolean isSqlCE)
at Microsoft.Web.Deployment.SqlInfo.GetBuilder(String connectionString, String errorMessageFormat)
Publish failed to deploy.
2>Build failed. Check the Output window for more details.
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
spa.Options.DefaultPage = "/app/";
if (env.IsDevelopment())
{
spa.UseReactDevelopmentServer(npmScript: "start");
}
});
private readonly ValueComparer<ICollection<string>> valueComparer = new ValueComparer<ICollection<string>>(
equalsExpression: (c1, c2) => c1 != null && c2 != null && c1.SequenceEqual(c2),
hashCodeExpression: c => c.Aggregate(0, (a, v) => HashCode.Combine(a, v.GetHashCode())),
snapshotExpression: c => c.ToHashSet());
public void Configure(EntityTypeBuilder<User> builder)
{
builder.Property(x => x.FavoriteStores)
.HasConversion(
to => string.Join(',', to),
from => from.Split(',', StringSplitOptions.None))
.Metadata
.SetValueComparer(valueComparer);
}
}
What am I doing wrong here Microsoft.AspNetCore.SignalR.HubException: Failed to invoke 'GetCategory' due to an error on the server.
? In my blazor's signalr client:
public Task<CategoryModel> GetCategory(int id)
{
var cancellationTokenSource = new CancellationTokenSource();
return _hubConnection.InvokeAsync<CategoryModel>("GetCategory", id, cancellationTokenSource.Token);
}
simplified in my aspnetcore signalr hub/server:
public async Task<CategoryModel> GetCategory(int id, CancellationToken cancellationToken)
{
return new CategoryModel((uint)id); // real version has dbcontext and such
}
I have working cases with StreamAsync
and SendAsync
, but InvokeAsync
has me scratching my head