Browse Source

Add shutdown logic to server installer

Eric Reed 12 năm trước cách đây
mục cha
commit
187e1a4424

+ 21 - 0
MediaBrowser.Installer/MainWindow.xaml.cs

@@ -103,6 +103,27 @@ namespace MediaBrowser.Installer
             var version = await GetPackageVersion();
             lblStatus.Content = string.Format("Downloading {0} (version {1})...", FriendlyName, version.versionStr);
 
+            // Now in the background - try and shut down the server if that is what we are installing
+            if (PackageName == "MBServer")
+            {
+                Task.Run(async () =>
+                             {
+                                 using (var client = new WebClient())
+                                 {
+                                     try
+                                     {
+                                         await client.UploadStringTaskAsync("http://localhost:8096/mediabrowser/system/shutdown", "").ConfigureAwait(false);
+                                     }
+                                     catch (WebException e)
+                                     {
+                                         if (e.GetStatus() == HttpStatusCode.NotFound || e.Message.StartsWith("Unable to connect",StringComparison.OrdinalIgnoreCase)) return; // just wasn't running
+
+                                         MessageBox.Show("Error shutting down server.\n\n" + e.GetStatus() + "\n\n" + e.Message);
+                                     }
+                                 }
+                             });
+            }
+
             // Download
             var archive = await DownloadPackage(version);
             dlAnimation.StopAnimation();

+ 1 - 1
MediaBrowser.Installer/MediaBrowser.Installer.csproj

@@ -29,7 +29,7 @@
     <PublisherName>Media Browser Team</PublisherName>
     <SuiteName>Media Browser</SuiteName>
     <OpenBrowserOnPublish>false</OpenBrowserOnPublish>
-    <ApplicationRevision>17</ApplicationRevision>
+    <ApplicationRevision>21</ApplicationRevision>
     <ApplicationVersion>0.1.1.%2a</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <PublishWizardCompleted>true</PublishWizardCompleted>