Esempio n. 1
0
        public ActionResult Settings(SettingsSaveModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var clientMeta = (ApplicationClientMetadata)Session[SKClientSettings];
                    clientMeta.IsExplorationEnabled      = model.IsExplorationEnabled;
                    clientMeta.InitialExplorationEpsilon = model.InitialExplorationEpsilon;
                    clientMeta.TrainArguments            = model.TrainArguments;
                    var clientSettingsBlob = (CloudBlockBlob)Session[SKClientSettingsBlob];
                    clientSettingsBlob.UploadText(JsonConvert.SerializeObject(clientMeta));

                    var extraMeta = (ApplicationExtraMetadata)Session[SKExtraSettings];
                    extraMeta.ModelId = model.SelectedModelId;
                    var extraSettingsBlob = (CloudBlockBlob)Session[SKExtraSettingsBlob];
                    extraSettingsBlob.UploadText(JsonConvert.SerializeObject(extraMeta));

                    try
                    {
                        // copy selected model file to the latest file
                        ApplicationMetadataStore.UpdateModel(model.SelectedModelId, ConfigurationManager.AppSettings[ApplicationMetadataStore.AKConnectionString]);
                    }
                    catch (Exception ex)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to update model: {ex.ToString()}"));
                    }

                    return(View(CreateAppView(clientMeta, extraMeta)));
                }
                catch (Exception ex)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to update application metadata: {ex.ToString()}"));
                }
            }
            try
            {
                return(View(SettingsView()));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to load application metadata: {ex.ToString()}"));
            }
        }
        public ActionResult Settings(SettingsSaveModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var clientMeta = (ApplicationClientMetadata)Session[SKClientSettings];
                    clientMeta.IsExplorationEnabled = model.IsExplorationEnabled;
                    clientMeta.InitialExplorationEpsilon = model.InitialExplorationEpsilon;
                    clientMeta.TrainArguments = model.TrainArguments;
                    var clientSettingsBlob = (CloudBlockBlob)Session[SKClientSettingsBlob];
                    clientSettingsBlob.UploadText(JsonConvert.SerializeObject(clientMeta));

                    var extraMeta = (ApplicationExtraMetadata)Session[SKExtraSettings];
                    extraMeta.ModelId = model.SelectedModelId;
                    var extraSettingsBlob = (CloudBlockBlob)Session[SKExtraSettingsBlob];
                    extraSettingsBlob.UploadText(JsonConvert.SerializeObject(extraMeta));

                    try
                    {
                        // copy selected model file to the latest file
                        ApplicationMetadataStore.UpdateModel(model.SelectedModelId, ConfigurationManager.AppSettings[ApplicationMetadataStore.AKConnectionString]);
                    }
                    catch (Exception ex)
                    {
                        return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to update model: {ex.ToString()}");
                    }

                    return View(CreateAppView(clientMeta, extraMeta));
                }
                catch (Exception ex)
                {
                    return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to update application metadata: {ex.ToString()}");
                }
            }
            try
            {
                return View(SettingsView());
            }
            catch (Exception ex)
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, $"Unable to load application metadata: {ex.ToString()}");
            }
        }