Uri ServiceAddress(Type serviceType) { //TODO: Support multiple app manifests. ApplicationManifestAttribute appManifest = serviceType.GetCustomAttributes <ApplicationManifestAttribute>().FirstOrDefault(); return(new Uri("fabric:/" + appManifest.ApplicationName + "/" + appManifest.ServiceName)); }
internal void Activate() { Activated = true; Id = GenericContext <ActorId> .Current.Value; Debug.Assert(!string.IsNullOrEmpty(Id.ApplicationName)); ApplicationName = Id.ApplicationName; ApplicationManifestAttribute appManifest = this.GetType().GetCustomAttributes <ApplicationManifestAttribute>().SingleOrDefault(manifest => manifest.ApplicationName.Equals(ApplicationName)); Debug.Assert(appManifest != null); Debug.Assert(appManifest.ApplicationName.Equals(ApplicationName)); ServiceUri = new Uri("fabric:/" + appManifest.ApplicationName + "/" + appManifest.ServiceName); }