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()}"); } }