我有一个Web服务(asp.net),它显示连接到服务器的显示器的高度或宽度。但是,当我通过localhost调用它时,我得到了错误的显示,它表示当显示器设置为1280x1024时它是1024x768。
我在这里遗漏了什么吗?代码非常简单:
[WebMethod]
public int GetHeight()
{
return (int)System.Windows.SystemParameters.PrimaryScreenHeight;
}
[WebMethod]
public int GetWidth()
{
return (int) System.Windows.SystemParameters.PrimaryScreenWidth;
}
我也尝试过使用:
System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
也许有更好的方法可以做到这一点?也许我应该将值存储在文本文件中,或者可能有更可靠的方法?也许查询注册表的设置分辨率?
答案 0 :(得分:0)
我放弃了尝试让ASP.NET工作,所以我使用了WMI。检查我提出的this问题并解决了问题。
答案 1 :(得分:-1)
它可能与数据类型有关,看看该方法如何返回双精度值。我会尝试使用 int.Parse() 转换为整数。