2011-01-26 28 views
5

Có thể cho trình khách Silverlight nhận bất kỳ thông tin phiên bản lắp ráp nào từ tệp xap được tải xuống hay không.Có thể lấy số phiên bản từ tệp XAP

Về cơ bản, tôi cần một cách để khách hàng xác nhận rằng trên thực tế đang chạy các bit mới nhất, nếu có cách nào tốt hơn tôi mở để đề xuất.

Trả lời

9

Nếu bạn đang cố gắng để kiểm tra khi các ứng dụng đang chạy, bạn có thể mang lại System.Reflection và làm điều gì đó như thế này:

Assembly assembly = Assembly.GetExecutingAssembly(); 
if (assembly.FullName != null) 
{ 
    string versionPart = assembly.FullName.Split(',')[1]; 
    string version = versionPart.Split('=')[1]; 

    // check version against something 
} 
+0

Tôi tự hỏi tại sao FullName là Ok, nhưng getName() là một ngoại lệ an ninh. –

+0

Tôi không thực sự chắc chắn lý do tại sao, nhưng MSDN nói không sử dụng GetName() trong Silverlight: http://msdn.microsoft.com/en-us/library/9w2wdeze(VS.95).aspx –

0

Đối với khách hàng ok mình bằng mã này sau

public static string getAsmVersionInfo() 
    { 
     return "v " + ParseVersionNumber(Assembly.GetExecutingAssembly()).ToString(); 
    } 

    public static Version ParseVersionNumber(Assembly assembly) 
    { 
     AssemblyName assemblyName = new AssemblyName(assembly.FullName); 
     return assemblyName.Version; 
    } 

Nhưng làm thế nào chúng ta có thể học được điều đó từ phía Web? Tôi muốn hiển thị như là tiêu đề của index.aspx. Có một xap trong ClientBin/thư mục. Chúng tôi cần phải tiếp cận dll bên trong của nó ở phía máy chủ.

Đối với Tiêu đề này giải pháp khác có sẵn thay đổi trang aspx từ phía khách hàng http://blogs.msdn.com/b/zainala/archive/2008/11/23/changing-html-page-title-from-silverlight.aspx

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