2011-07-06 36 views
5

Tôi đang kiểm tra xem người dùng đã xác thực cửa sổ có phải là người dùng hợp lệ cho ứng dụng wpf của tôi hay không.Application.Current.Shutdown (-1) không đóng ứng dụng WPF

Nếu không, tôi cần tắt ứng dụng; nhưng ngay cả sau khi thực thi Application.Current.Shutdown (-1), ứng dụng vẫn tiếp tục thực hiện một cách vui vẻ.

Liên kết dưới đây cho biết tôi cần xóa StartUpURI của mình; nhưng tôi không có thẻ đó trong app.xaml của mình. ->Shutting down a WPF application from App.xaml.cs

EDIT: - Tôi có mã này trong APP.XAML.CS ->

protected override void OnStartup(StartupEventArgs e) 
     { 
      base.OnStartup(e); 

      this.exceptionPolicy = ConfigurationManager.AppSettings.Get("ExceptionPolicy"); 
      this.displayErrorDetails = true; 
      this.container = new UnityContainer(); 

      // Register services and types in Unity 
      RegisterServices(); 

      // Check user 
      if (!IsValidUser()) 
      { 
       //Application.Current.Shutdown(); 
       App.Current.Shutdown(); 
      } 

     } 
+2

Bạn cần hiển thị mã xung quanh 'Application.Current.Shutdown()'. Vấn đề có thể liên quan đến nơi bạn đang gọi nó. –

+0

Mã của tôi nằm trong App.Xaml -> OnStartup (StartupEventArgs e) – Relativity

+2

Bạn có thể đăng toàn bộ nội dung tệp App.xaml.cs của mình không? – NickHeidke

Trả lời

11

Sử dụng Environment.Exit() để thay thế. Điều đó sẽ cố gắng để đóng cửa một cách duyên dáng, nhưng nếu nó không thể duyên dáng, sẽ đóng cửa một cách thô bạo - mạnh mẽ chấm dứt chủ đề.

+0

Environment.Exit() hoạt động..những vấn đề phải đối mặt trong DisPose() – Relativity

+1

Vâng vâng - bạn sẽ phải gọi rõ ràng Dispose() trên các đối tượng của bạn trước tiên, vì Environment.Exit sẽ chấm dứt các chủ đề của bạn. Application.Current.Shutdown sẽ không gọi Dispose hoặc; sẽ không có gì. Không có tự động bỏ trong .net. –

0

Tôi chưa bao giờ có may mắn tắt thứ gì đó từ khi khởi động. Tôi khuyên bạn nên bắt đầu một Chủ đề mới, sau một số thời gian trễ ngắn, tắt ứng dụng bằng cách sử dụng mã tương tự mà bạn có trong mẫu của mình.

Các vấn đề liên quan