Печать WCF - проблемы с сетевой печатью

Мне было поручено создать службу WCF, которая будет печатать указанный файл на сетевом принтере. Я использую метод System.Drawing в C # для создания метода печати, однако, когда я запускаю его, я получаю следующее сообщение об ошибке:

{"Settings to access printer '\\\\UKPRINT01\\UKPRINT024' are not valid"}

Я поискал в Интернете, и единственный совет, который я могу найти, - установить принтер локально, однако это не совсем жизнеспособный вариант для этой конкретной службы WCF. WCF будет размещаться через службу Windows и создается с использованием .net 4.0 и Visual Studio 2012.

Код для метода печати следующий:

streamToPrint = new StreamReader(filePath);
try
{  
        printFont = new Font("Arial", 10);
        PrintDocument pd = new PrintDocument();
        pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
        pd.PrinterSettings.PrinterName = @"\\UKSPPS01\UKSPPRN024";
        // Print the document.
        pd.Print();
}
finally
{
    streamToPrint.Close();
}

person SymbioticKaos    schedule 09.04.2013    source источник
comment
почему бы вам просто не добавить принтер к сетевым принтерам Windows и затем печатать на нем?   -  person Nahum    schedule 09.04.2013
comment
Я не уверен, что вы можете использовать PrintDocument API из службы Windows. Возможно, вам стоит попробовать разместить службу WCF в приложении Winforms.   -  person John Saunders    schedule 09.04.2013
comment
К вашему сведению, вам, вероятно, следует поместить StreamReader в блок using вместо try / finally.   -  person John Saunders    schedule 09.04.2013
comment
у тебя есть доступ к принтеру?   -  person user1659922    schedule 09.04.2013
comment
@JohnSaunders благодарит за подсказку по поводу оператора using. С помощью этого конкретного варианта я фактически создаю метод печати в консольном приложении (поскольку я думал, что проблема могла быть в WCF) для тестирования, к сожалению, он все еще работает неправильно, поэтому я думаю, что это должно быть что-то с настройками, но я не могу точно определить, где может быть проблема.   -  person SymbioticKaos    schedule 09.04.2013
comment
@ user1659922 да, я могу печатать на нем без проблем   -  person SymbioticKaos    schedule 09.04.2013
comment
Просто проблема с разрешениями, см., Например, Ошибка Настройки доступа к принтеру "printername" недействительны при печати из службы Windows.   -  person CodeCaster    schedule 09.04.2013
comment
@CodeCaster Это решение сработало отлично, не могли бы вы опубликовать его в качестве ответа, чтобы я мог его отметить. Спасибо.   -  person SymbioticKaos    schedule 10.04.2013