小编Chr*_*eys的帖子

在Azure函数中初始化AutoMapper

我正在尝试创建一个Azure函数,我在其中使用AutoMapper的一些代码.我是C#,Azure和AutoMapper的新手,我在找到初始化AutoMapper配置的正确方法时遇到了一些麻烦.

MapInitializer.cs:

public static class MapInitializer
    {
        public static void Activate()
        {
            Mapper.Initialize(cfg =>
            {
                // initialize mappings here
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后在我的函数中,我尝试执行以下操作:

Function.cs:

public static class ProcessQueueForIntercom
    {

        [FunctionName("ProcessQueue")]
        public static void Run([QueueTrigger("messages")]string myQueueItem, TraceWriter log)
        {
            MapInitializer.Activate(); 

            // rest of the code
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在问题是,我第一次使用此函数处理消息时,一切顺利,代码按预期运行.但是,从第二次开始,我收到一条错误,说我的配置已经初始化.但我真的不知道如何使用Azure函数正确地执行此操作,因为通常您会在App Startup中初始化它,但我不认为Azure Functions(CMIW)有这样的东西,并且我找不到有关如何做到这一点的更多信息.我正在考虑用try catch围绕Activate()调用,并且只记录配置已经加载的警告,但这看起来不是很干净......

c# initialization azure automapper azure-functions

7
推荐指数
1
解决办法
2313
查看次数

BehaviorSubject:next不是函数

我正在尝试在兄弟组件之间共享数据,并通过共享服务执行此操作.加载第一个组件时,它会从我的API中检索一个服务器列表,并用所有检索到的服务器填充一个选择框.现在我想在用户选择新服务器时通知我的其他组件,以便我可以显示它的详细信息.

这是我的服务:

@Injectable()
export class DashboardService {
    servers: Server[] = [];
    selectedServer = new BehaviorSubject<Server>(null);

    setServers(servers: Server[]) {
        this.servers = servers;
    }

}
Run Code Online (Sandbox Code Playgroud)

带选择框的组件:

@Component({
  selector: 'app-servers-select',
  template: `
    <div class="form-group">
      <label>Server</label>
      <select class="form-control" [(ngModel)]="this.dashboardService.selectedServer" (ngModelChange)="change($event)">
        <option disabled>-- Select server --</option>
        <option *ngFor="let server of servers" [ngValue]="server">{{server.Name}}</option>
      </select>
    </div>`,
  styleUrls: ['./servers-select.component.css'],
  providers: [ServerService]
})
export class ServersSelectComponent implements OnInit {
  servers: Server[] = [];

  constructor(private serverService: ServerService, private dashboardService: DashboardService) { }
  ngOnInit() {
    this.serverService
      .getServers()
      .subscribe(s => {
        this.servers …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript rxjs5 angular

5
推荐指数
1
解决办法
967
查看次数