![](/img/trans.png)
[英]How do I call a static method on my ASP.Net page, from Javascript?
[英]How do I call a .Net control or class library from javascript on a web page in Internet Explorer?
我正在開發一個Intranet應用程序,它需要從客戶端計算機收集來自環境變量信息的系統信息,以便它可以在以后由服務器處理時使用。 瀏覽器是Internet Explorer,版本8和9。
我認為Silverlight是一種可能性,但它似乎太過限制(出於安全原因)能夠獲取我需要收集的信息。
到目前為止,尋找答案還沒有產生任何結果。 有什么想法嗎?
實際上,您可以編寫.Net類並在IE中從JavaScript實例化它。
ComVisible
ProgId
regasm
注冊.Net程序集 new ActiveXObject
無論如何,仍然存在安全問題:用戶必須手動允許ActiveX執行。
我記得,它應該是那樣的(沒有經過測試):
在C#中:
[ComVisible(true)]
[ProgId("MyCompany.MyClass")]
public class MyClass
{
public string UserName
{
get { return Environment.UserName; }
}
}
在管理員控制台:
regasm MyClass.dll
在JavaScript中:
var myClass = new ActiveXObject("MyCompany.MyClass");
alert(myClass.UserName);
我不認為可以從瀏覽器中讀取環境變量。 由於瀏覽器是為Internet設計的,因此為他們提供讀取任何類型系統設置的能力會導致安全問題。 沒有人想要他/她在互聯網上訪問的網站正確閱讀他的系統信息嗎? 我對做你想要達到的事情的可能性持懷疑態度。 但是,您可以考慮編寫一個基於Windows的示例應用程序,該應用程序從您的Intranet網站下載,讀取環境設置並提交到服務器。
這是不可能做到的,因為你可以編寫訪問本地計算機的程序並不感興趣(除了壞人)。
我不知道你有多少用戶。 但是如果您確實需要這些信息,那么一種解決方案就是創建一個程序,從計算機中提取所有需要的數據,並將其存儲在映射到用戶的數據庫中。 然后,您將在瀏覽器中需要時從數據庫中提取信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.