sanrai Ответов: 1

Как использовать класс управления в веб-приложении в asp.net


Привет,

Я пытаюсь написать код, который будет дефектировать состояние принтера

using System.Management;


 ManagementScope scope = new ManagementScope("\\root\\cimv2");

       scope.Connect();

// Select Printers from WMI Object Collections

       ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Printer");

string printerName = "";

foreach (ManagementObject printer in searcher.Get()) {

printerName = printer("Name").ToString().ToLower();

if (printerName.Equals("Name_Of_Printer"))

{

Console.WriteLine("Printer = " + printer("Name"));

if (printer("WorkOffline").ToString().ToLower().Equals("true"))

{

// printer is offline by user

Console.WriteLine("Your Plug-N-Play printer is not connected.");

}

else

{

// printer is not offline

Console.WriteLine("Your Plug-N-Play printer is connected.");

}
} 


Но я получаю ошибку как
Error   54  The type or namespace name 'ManagementScope' could not be found (are you missing a using directive or an assembly reference?)   C:\Users\d3\Desktop\Nuggetts Cloud\Project\asset_cardmstr.aspx.cs  54  6   C:\...\Project\


Пожалуйста, помогите тому, чего сейчас не хватает.??

Sergey Alexandrovich Kryukov

Это не проблема для дефекта состояния принтера. Иногда достаточно было бы молотка побольше. :-)
--СА

1 Ответов

Рейтинг:
1

Sergey Alexandrovich Kryukov

Пожалуйста, смотрите мой комментарий к этому вопросу :-)

Но даже это не имело бы никакого смысла, даже если бы вы действительно хотели обнаружить статус. С ASP.NET, С.Как правило, вы можете определить только состояние какого-либо серверного принтера. Да ладно, хосты HTTP-серверов обычно не имеют принтера или не открыты для клиентов; это не имеет никакого смысла. А ваш серверный код и ваше веб-приложение по очевидным причинам не имеют прямого доступа к принтерам пользователя. Возможно, то, что вам действительно нужно, - это узнать, как технически работает веб в принципе. Вы могли бы начать здесь:
http://en.wikipedia.org/wiki/HTTP[^],
http://en.wikipedia.org/wiki/Web_server[^],
http://en.wikipedia.org/wiki/Web_browser[^],
http://en.wikipedia.org/wiki/WWW[^].

Что бы я посоветовал? Оставьте принтеры пользователей пользователям. Они знают, что делать со своими принтерами; доверяйте им. Лучше обеспечить удобный для принтера контент. Но это совсем другая история. Пожалуйста, смотрите:
http://www.w3schools.com/css/css_mediatypes.asp[^].

[РЕДАКТИРОВАТЬ]

Пожалуйста, смотрите также мои ответы на связанные с этим вопросы:
Печать в порт lpt1 с помощью ASP.net[^],
Как получить список принтеров на стороне клиента ASP.NET?[^].

—СА