public void Activate([NotNull] IRouteBuilder routeBuilder)
        {
            if (routeBuilder == null)
            {
                throw new ArgumentNullException(nameof(routeBuilder));
            }

            foreach (var service in mServices.Values)
            {
                var exporter = new WebServiceExporter(service, this);

                exporter.RoutePrefix = Configuration.RoutePrefix;
                exporter.Log         = Log;

                foreach (var routeInfo in exporter.Export(routeBuilder))
                {
                    RouteMapped?.Invoke(this, routeInfo);
                }
            }

            mWasActivated = true;
        }
예제 #2
0
        public void Configure(IApplicationBuilder applicationBuilder, IHostingEnvironment hostingEnvironment, ILoggerFactory loggerFactory)
        {
            var routeBuilder = new RouteBuilder(applicationBuilder);

            foreach (var service in mProvider.Services)
            {
                var exporter = new WebServiceExporter(service, mProvider);

                exporter.RoutePrefix = mProvider.Configuration.Configuration.RoutePrefix.NormalizeNull();
                exporter.Log         = mProvider.Log;

                foreach (var routeInfo in exporter.Export(routeBuilder))
                {
                    mProvider.RaiseRouteMappedEvent(routeInfo);
                }
            }

            loggerFactory.AddProvider(new ServiceLogProvider(mProvider.Log, mProvider.Configuration.LogMessageScope));

            applicationBuilder.UseRouter(routeBuilder.Build());
            applicationBuilder.UseStatusCodePages(HandleFaultStatusCode);
        }