We have devloped a multi-tenant applecation using aspnetzero angular and mvc5 abp framework. Although our emails are working fine from the default tenant , we are unable to send email froma tenant. We are using hangfire for background services and email scheduling. Each tenant has a separate database. It seems that the hangfire tables are created in each tenant db , however its not able to trigger call to sendemail method when an email is sent from a tenent. Could your support team guide us to resolve this issue? Email is a critical part of the application.
Perhaps you can share the issue over telephone if the contact number is available to us.
Thanks.
We are building an Angular 2 client front-end application that calls external API's . However noticed that the account controller in client project makes all server call and points to it.
Whereas we want to decouple this and actually call external login API from the client.
Please suggest the best way to modify the code in client to achieve this. Our API calls should direct to external server and not the existing server in the project.
We have client demos lined up , so this functionality is pretty critical for us.
Looking forward to your guidance.
Thanks.
We have a multi-tenant application. Each tenant has a separate database though. Having trouble in sending mail while logging in with different tenant other than Default tenant. While scheduling mail/Background process it refers to host db. And getting error for sending mails. Shows that it takes Host connectionString for hangfire process. For creating mail and other records it takes Tenant Connectionstring. Having separate Hangfire tables for each client
how to distinguish jobs for different tenants so that we can send emails tenant-specific.
Thanks!
We are implementing multi-tenant application .For this we need to assign subdomain for each tenant. How can we achieve this by using TenantSettingAppService.cs ? Also ,can you tell us how can we define tenant-specific settings , and how can we change Setting scope to tenant ?
We are trying to deploy a multi tenant application with angular1.x and asp.net mvc (abp version 3.0.0 ) to windows azure .Application has master Web application and database. We are creating separate DB's for each tenant. Application allows us to create new tenant from Web UI after publishing to Azure . While creating new tenant from azure hosted web application , it creates tenant-database properly , however, it fails creating tables and stored procedures. we have added our Stored Procedures folder in bin folder. From there we use the SP to create database for new tenant. We have been struggling with this issue for 2 days now.
The log file shows following errors.
Application works perfectly fine locally. But not on Azure.
INFO 2017-02-10 11:21:29,231 [69 ] C2C.MultiTenancy.TenantManager - create tenant 2/10/2017 11:21:29 AM
ERROR 2017-02-10 11:22:10,389 [69 ] nHandling.AbpApiExceptionFilterAttribute - ComponentActivator: could not instantiate C2C.EntityFramework.C2CDbContext
Castle.MicroKernel.ComponentActivator.ComponentActivatorException: ComponentActivator: could not instantiate C2C.EntityFramework.C2CDbContext ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<NonQuery>b__0(DbCommand t, DbCommandInterceptionContext
1 c)
at System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func
3 operation, TInterceptionContext interceptionContext, Action3 executing, Action
3 executed)
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.NonQuery(DbCommand command, DbCommandInterceptionContext interceptionContext)
at System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass1a.<CreateDatabaseFromScript>b__19(DbConnection conn)
at System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass33.<UsingConnection>b__32()
at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.<Execute>b__0()
at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func1 operation) at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) at System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action
1 act)
at System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action1 act) at System.Data.Entity.SqlServer.SqlProviderServices.CreateDatabaseFromScript(Nullable
1 commandTimeout, DbConnection sqlConnection, String createDatabaseScript)
at System.Data.Entity.SqlServer.SqlProviderServices.DbCreateDatabase(DbConnection connection, Nullable1 commandTimeout, StoreItemCollection storeItemCollection) at System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable
1 commandTimeout, StoreItemCollection storeItemCollection)
at System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase()
at System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection)
at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
at System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func3 createMigrator, ObjectContext objectContext) at System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext, DatabaseExistenceState existenceState) at System.Data.Entity.Database.Create(DatabaseExistenceState existenceState) at System.Data.Entity.CreateDatabaseIfNotExists
1.InitializeDatabase(TContext context)
at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf1.<CreateInitializationAction>b__e() at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c) at System.Data.Entity.Internal.RetryAction
1.PerformAction(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action1 action) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() at System.Data.Entity.Internal.InternalContext.ForceOSpaceLoadingForKnownEntityTypes() at System.Data.Entity.DbContext.System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext() at Abp.EntityFramework.AbpDbContext.RegisterToChanges() at C2C.EntityFramework.C2CDbContext..ctor(String nameOrConnectionString) --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.FastCreateInstance(Type implType, Object[] arguments, ConstructorCandidate constructor) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType) --- End of inner exception stack trace --- at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstanceCore(ConstructorCandidate constructor, Object[] arguments, Type implType) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstance(CreationContext context, ConstructorCandidate constructor, Object[] arguments) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.Instantiate(CreationContext context) at Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.InternalCreate(CreationContext context) at Castle.MicroKernel.ComponentActivator.AbstractComponentActivator.Create(CreationContext context, Burden burden) at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.CreateInstance(CreationContext context, Boolean trackedExternally) at Castle.MicroKernel.Lifestyle.AbstractLifestyleManager.Resolve(CreationContext context, IReleasePolicy releasePolicy) at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden) at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired) at Castle.MicroKernel.Handlers.AbstractHandler.Resolve(CreationContext context) at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, IDictionary additionalArguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, IDictionary arguments, IReleasePolicy policy) at Castle.MicroKernel.DefaultKernel.Resolve(Type service, IDictionary arguments) at Castle.Windsor.WindsorContainer.Resolve[T](Object argumentsAsAnonymousType) at Abp.Dependency.IocManager.Resolve[T](Object argumentsAsAnonymousType) at Abp.Dependency.IocResolverExtensions.ResolveAsDisposable[T](IIocResolver iocResolver, Object argumentsAsAnonymousType) at Abp.Zero.EntityFramework.AbpZeroDbMigrator
2.CreateOrMigrate(AbpTenantBase tenant)
at Abp.Zero.EntityFramework.AbpZeroDbMigrator`2.CreateOrMigrateForTenant(AbpTenantBase tenant)
at C2C.MultiTenancy.TenantManager.
[attachment=2:l21b3d3m]Local Run.PNG[/attachment:l21b3d3m] I downloaded the Angular 2 Core template from Aspnetzero. Server project runs fine locally. When i right-click and publish the web.host project to azure through the publish wizard of Visual Studio , publish succeeds but page shows following error : [attachment=1:l21b3d3m]Azure Error.PNG[/attachment:l21b3d3m] Do not know how to publish this application to Azure. Is the issue related to .Net framework version in Project.json ? [attachment=0:l21b3d3m]ChangeInProject.Json File.PNG[/attachment:l21b3d3m]
While publishing a core app we should have .NetCore as selected , but i get the .NetFramework 4.6.1 as Target Framework.
Please inform procedure for publishing to azure. Really Urgent !!
We migrated Angularjs1.x MVC SPA project to newer version V2.1.0 Angularjs1.x MVC by copying files into the new downloaded project.
Update-database was successful . However we are getting the following error while running the project :
Following are current versions installed in the application and core projects : --------------------------APPLICATION PROJ---------------------- id="Abp" version="1.2.1.0" targetFramework="net461" id="Abp.AutoMapper" version="1.2.1.0" targetFramework="net461" id="Abp.Zero" version="1.2.0.0" targetFramework="net461" id="Abp.Zero.Ldap" version="1.2.0.0" targetFramework="net461" id="AutoMapper" version="5.2.0" targetFramework="net461" id="Castle.Core" version="3.3.3" targetFramework="net451" id="Castle.LoggingFacility" version="3.3.0" targetFramework="net451" id="Castle.Windsor" version="3.3.0" targetFramework="net451" id="EntityFramework" version="6.1.3" targetFramework="net451"
-------------------------CORE PROJ---------------------------------------- <package id="Abp" version="1.2.1.0" targetFramework="net461" <package id="Abp.AutoMapper" version="1.2.1.0" targetFramework="net461" <package id="Abp.Zero" version="1.2.0.0" targetFramework="net461" <package id="Abp.Zero.Ldap" version="1.2.0.0" targetFramework="net461" <package id="AutoMapper" version="5.2.0" targetFramework="net461" <package id="Castle.Core" version="3.3.3" targetFramework="net451" <package id="Castle.LoggingFacility" version="3.3.0" targetFramework="net451" <package id="Castle.Windsor" version="3.3.0" targetFramework="net451"
Issue seems to be with the abp.dll version . Please help us resolve this.
I got following error while using asp.net core Developing-Step-By-Step-Angular 2 tutorial Error is following
There is no directive with "exportAs" set to "bs-modal" ("<div bsModal [ERROR ->]#modal="bs-modal" (onShown)="onShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledb"): CreatePersonModalComponent@0:13 Can't bind to 'config' since it isn't a known property of 'div'. ("nShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true" [ERROR ->][config]="{backdrop: 'static'}"> <div class="modal-dialog"> <div class="modal-content">"): CreatePersonModalComponent@0:143 There is no directive with "exportAs" set to "ngForm" (" <div class="modal-dialog"> <div class="modal-content"> <form ngIf="active" [ERROR ->]#personForm="ngForm" novalidate (ngSubmit)="save()"> <div class="modal-header"> "): CreatePersonModalComponent@3:33 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("l no-hint"> <input #nameInput class="form-control" type="text" name="name" [ERROR ->][(ngModel)]="person.name" required maxlength="32"> <label>{{l("Name")}}</lab"): CreatePersonModalComponent@15:87 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("ng-label no-hint"> <input class="form-control" type="email" name="surname" [ERROR ->][(ngModel)]="person.surname" required maxlength="32"> <label>{{l("Surname")}"): CreatePersonModalComponent@20:80 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("bel no-hint"> <input class="form-control" type="email" name="emailAddress" [ERROR ->][(ngModel)]="person.emailAddress" required maxlength="255" pattern="^\w+([.-]?\w+)@\w+([.-]?\w+)("): CreatePersonModalComponent@25:85 Can't bind to 'buttonBusy' since it isn't a known property of 'button'. (" <button type="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [ERROR ->][buttonBusy]="saving" [busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save"): CreatePersonModalComponent@31:107 Can't bind to 'busyText' since it isn't a known property of 'button'. ("ype="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [buttonBusy]="saving" [ERROR ->][busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save")}}</span></button> "): CreatePersonModalComponent@31:129 ; Zone: <root> ; Task: Promise.then ; Value: SyntaxError Error: Template parse errors: There is no directive with "exportAs" set to "bs-modal" ("<div bsModal [ERROR ->]#modal="bs-modal" (onShown)="onShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledb"): CreatePersonModalComponent@0:13 Can't bind to 'config' since it isn't a known property of 'div'. ("nShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true" [ERROR ->][config]="{backdrop: 'static'}"> <div class="modal-dialog"> <div class="modal-content">"): CreatePersonModalComponent@0:143 There is no directive with "exportAs" set to "ngForm" (" <div class="modal-dialog"> <div class="modal-content"> <form ngIf="active" [ERROR ->]#personForm="ngForm" novalidate (ngSubmit)="save()"> <div class="modal-header"> "): CreatePersonModalComponent@3:33 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("l no-hint"> <input #nameInput class="form-control" type="text" name="name" [ERROR ->][(ngModel)]="person.name" required maxlength="32"> <label>{{l("Name")}}</lab"): CreatePersonModalComponent@15:87 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("ng-label no-hint"> <input class="form-control" type="email" name="surname" [ERROR ->][(ngModel)]="person.surname" required maxlength="32"> <label>{{l("Surname")}"): CreatePersonModalComponent@20:80 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("bel no-hint"> <input class="form-control" type="email" name="emailAddress" [ERROR ->][(ngModel)]="person.emailAddress" required maxlength="255" pattern="^\w+([.-]?\w+)@\w+([.-]?\w+)("): CreatePersonModalComponent@25:85 Can't bind to 'buttonBusy' since it isn't a known property of 'button'. (" <button type="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [ERROR ->][buttonBusy]="saving" [busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save"): CreatePersonModalComponent@31:107 Can't bind to 'busyText' since it isn't a known property of 'button'. ("ype="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [buttonBusy]="saving" [ERROR ->][busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save")}}</span></button> "): CreatePersonModalComponent@31:129 at SyntaxError.BaseError [as constructor] (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:104588:27">http://localhost:4200/vendor.bundle.js:104588:27</a>) [<root>] at new SyntaxError (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:28711:16">http://localhost:4200/vendor.bundle.js:28711:16</a>) [<root>] at TemplateParser.parse (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:43256:19">http://localhost:4200/vendor.bundle.js:43256:19</a>) [<root>] at JitCompiler._compileTemplate (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79515:68">http://localhost:4200/vendor.bundle.js:79515:68</a>) [<root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:62">http://localhost:4200/vendor.bundle.js:79398:62</a> [<root>] at Set.forEach (native) [<root>] at JitCompiler._compileComponents (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:19">http://localhost:4200/vendor.bundle.js:79398:19</a>) [<root>] at createResult (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79281:19">http://localhost:4200/vendor.bundle.js:79281:19</a>) [<root>] at Zone.run (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145502:43">http://localhost:4200/vendor.bundle.js:145502:43</a>) [<root> => <root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:145909:57">http://localhost:4200/vendor.bundle.js:145909:57</a> [<root>] at Zone.runTask (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145540:47">http://localhost:4200/vendor.bundle.js:145540:47</a>) [<root> => <root>] at drainMicroTaskQueue (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145807:35">http://localhost:4200/vendor.bundle.js:145807:35</a>) [<root>] consoleError @ vendor.bundle.js:145794 _loop_1 @ vendor.bundle.js:145823 drainMicroTaskQueue @ vendor.bundle.js:145827 ZoneTask.invoke @ vendor.bundle.js:145738 vendor.bundle.js:145796 Error: Uncaught (in promise): Error: Template parse errors: There is no directive with "exportAs" set to "bs-modal" ("<div bsModal [ERROR ->]#modal="bs-modal" (onShown)="onShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledb"): CreatePersonModalComponent@0:13 Can't bind to 'config' since it isn't a known property of 'div'. ("nShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true" [ERROR ->][config]="{backdrop: 'static'}"> <div class="modal-dialog"> <div class="modal-content">"): CreatePersonModalComponent@0:143 There is no directive with "exportAs" set to "ngForm" (" <div class="modal-dialog"> <div class="modal-content"> <form ngIf="active" [ERROR ->]#personForm="ngForm" novalidate (ngSubmit)="save()"> <div class="modal-header"> "): CreatePersonModalComponent@3:33 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("l no-hint"> <input #nameInput class="form-control" type="text" name="name" [ERROR ->][(ngModel)]="person.name" required maxlength="32"> <label>{{l("Name")}}</lab"): CreatePersonModalComponent@15:87 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("ng-label no-hint"> <input class="form-control" type="email" name="surname" [ERROR ->][(ngModel)]="person.surname" required maxlength="32"> <label>{{l("Surname")}"): CreatePersonModalComponent@20:80 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("bel no-hint"> <input class="form-control" type="email" name="emailAddress" [ERROR ->][(ngModel)]="person.emailAddress" required maxlength="255" pattern="^\w+([.-]?\w+)@\w+([.-]?\w+)("): CreatePersonModalComponent@25:85 Can't bind to 'buttonBusy' since it isn't a known property of 'button'. (" <button type="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [ERROR ->][buttonBusy]="saving" [busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save"): CreatePersonModalComponent@31:107 Can't bind to 'busyText' since it isn't a known property of 'button'. ("ype="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [buttonBusy]="saving" [ERROR ->][busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save")}}</span></button> "): CreatePersonModalComponent@31:129 Error: Template parse errors: There is no directive with "exportAs" set to "bs-modal" ("<div bsModal [ERROR ->]#modal="bs-modal" (onShown)="onShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledb"): CreatePersonModalComponent@0:13 Can't bind to 'config' since it isn't a known property of 'div'. ("nShown()" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true" [ERROR ->][config]="{backdrop: 'static'}"> <div class="modal-dialog"> <div class="modal-content">"): CreatePersonModalComponent@0:143 There is no directive with "exportAs" set to "ngForm" (" <div class="modal-dialog"> <div class="modal-content"> <form ngIf="active" [ERROR ->]#personForm="ngForm" novalidate (ngSubmit)="save()"> <div class="modal-header"> "): CreatePersonModalComponent@3:33 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("l no-hint"> <input #nameInput class="form-control" type="text" name="name" [ERROR ->][(ngModel)]="person.name" required maxlength="32"> <label>{{l("Name")}}</lab"): CreatePersonModalComponent@15:87 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("ng-label no-hint"> <input class="form-control" type="email" name="surname" [ERROR ->][(ngModel)]="person.surname" required maxlength="32"> <label>{{l("Surname")}"): CreatePersonModalComponent@20:80 Can't bind to 'ngModel' since it isn't a known property of 'input'. ("bel no-hint"> <input class="form-control" type="email" name="emailAddress" [ERROR ->][(ngModel)]="person.emailAddress" required maxlength="255" pattern="^\w+([.-]?\w+)@\w+([.-]?\w+)("): CreatePersonModalComponent@25:85 Can't bind to 'buttonBusy' since it isn't a known property of 'button'. (" <button type="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [ERROR ->][buttonBusy]="saving" [busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save"): CreatePersonModalComponent@31:107 Can't bind to 'busyText' since it isn't a known property of 'button'. ("ype="submit" class="btn btn-primary blue" [disabled]="!personForm.form.valid" [buttonBusy]="saving" [ERROR ->][busyText]="l('SavingWithThreeDot')"><i class="fa fa-save"></i> <span>{{l("Save")}}</span></button> "): CreatePersonModalComponent@31:129 at SyntaxError.BaseError [as constructor] (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:104588:27">http://localhost:4200/vendor.bundle.js:104588:27</a>) [<root>] at new SyntaxError (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:28711:16">http://localhost:4200/vendor.bundle.js:28711:16</a>) [<root>] at TemplateParser.parse (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:43256:19">http://localhost:4200/vendor.bundle.js:43256:19</a>) [<root>] at JitCompiler._compileTemplate (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79515:68">http://localhost:4200/vendor.bundle.js:79515:68</a>) [<root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:62">http://localhost:4200/vendor.bundle.js:79398:62</a> [<root>] at Set.forEach (native) [<root>] at JitCompiler._compileComponents (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:19">http://localhost:4200/vendor.bundle.js:79398:19</a>) [<root>] at createResult (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79281:19">http://localhost:4200/vendor.bundle.js:79281:19</a>) [<root>] at Zone.run (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145502:43">http://localhost:4200/vendor.bundle.js:145502:43</a>) [<root> => <root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:145909:57">http://localhost:4200/vendor.bundle.js:145909:57</a> [<root>] at Zone.runTask (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145540:47">http://localhost:4200/vendor.bundle.js:145540:47</a>) [<root> => <root>] at drainMicroTaskQueue (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145807:35">http://localhost:4200/vendor.bundle.js:145807:35</a>) [<root>] at SyntaxError.BaseError [as constructor] (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:104588:27">http://localhost:4200/vendor.bundle.js:104588:27</a>) [<root>] at new SyntaxError (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:28711:16">http://localhost:4200/vendor.bundle.js:28711:16</a>) [<root>] at TemplateParser.parse (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:43256:19">http://localhost:4200/vendor.bundle.js:43256:19</a>) [<root>] at JitCompiler._compileTemplate (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79515:68">http://localhost:4200/vendor.bundle.js:79515:68</a>) [<root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:62">http://localhost:4200/vendor.bundle.js:79398:62</a> [<root>] at Set.forEach (native) [<root>] at JitCompiler._compileComponents (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79398:19">http://localhost:4200/vendor.bundle.js:79398:19</a>) [<root>] at createResult (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:79281:19">http://localhost:4200/vendor.bundle.js:79281:19</a>) [<root>] at Zone.run (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145502:43">http://localhost:4200/vendor.bundle.js:145502:43</a>) [<root> => <root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:145909:57">http://localhost:4200/vendor.bundle.js:145909:57</a> [<root>] at Zone.runTask (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145540:47">http://localhost:4200/vendor.bundle.js:145540:47</a>) [<root> => <root>] at drainMicroTaskQueue (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145807:35">http://localhost:4200/vendor.bundle.js:145807:35</a>) [<root>] at resolvePromise (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145875:31">http://localhost:4200/vendor.bundle.js:145875:31</a>) [<root>] at resolvePromise (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145860:17">http://localhost:4200/vendor.bundle.js:145860:17</a>) [<root>] at <a class="postlink" href="http://localhost:4200/vendor.bundle.js:145909:17">http://localhost:4200/vendor.bundle.js:145909:17</a> [<root>] at Zone.runTask (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145540:47">http://localhost:4200/vendor.bundle.js:145540:47</a>) [<root> => <root>] at drainMicroTaskQueue (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145807:35">http://localhost:4200/vendor.bundle.js:145807:35</a>) [<root>] at XMLHttpRequest.ZoneTask.invoke (<a class="postlink" href="http://localhost:4200/vendor.bundle.js:145738:25">http://localhost:4200/vendor.bundle.js:145738:25</a>) [<root>]
Using latest version of asp.net mvc and angular1.x template , I created a new tenant with separate database. But when i try to login with the tenant user , i get this error :
Access to was denied
You don't have authorization to view this page.
The db gets created and user is also captured.
Dont know here to look for. Error seems to be thrown from UserWithFriendsCacheItem methodin UserFriendsCache.cs
Single Web Deployment - Multiple Database
We want to implement Multitenant applicaion with seperated database for each tenant The problem is We need to create and maintain a seperated database for each tenant, this includes database migrations. We are aiming for auto creation of tenant DB's with a single user. So far we have created separate TenantDbcontext and added separate migrations , and migrations are added successfully. But after adding migration we are unable to update Db . The error is in the attached image. The migration is adding host tables in migration.
Could we have a simple step by step instruction list that would enable us to approach this implementation ?