J
John M. Collinson
We have written a small command line tool for our legacy application that
allows the legacy application to pass an XML document to the .NET command
line code (C#) and then it will fax the formatted XML to the intended
recipient using FAXCOMLib. The code works great with one significant
problem. If the code is run under the context of an Adminstrator everything
works fine, I can send multiple faxes one after the other and they all
appear in the Windows 2000 fax queue and are eventually sent. If I perform
the same task as a regular user, only the first fax is placed in the queue
and sent. The remainder of the faxes appear as deadlocked processes in the
task manager but never complete the faxing process and never appear in the
Fax queue. I did find an article regarding setting the permission on the
MSFax directory for the Users group which allows the first job to fax
successfully but we need to be able to add faxes to the queue concurrently
without causing deadlock within the application. Once the deadlock has
occurred no one, including the adminstrator is able to fax until all of the
faxing processes are killed in the task manager.
Here is the Fax method it if helps.
public void Fax(FaxNode faxNode)
{
if (faxNode.FaxNumber!="")
{
FAXCOMLib.FaxServer faxServer = new
FAXCOMLib.FaxServerClass();
faxServer.Connect(this.faxServerName);
FAXCOMLib.FaxDoc faxDoc;
faxDoc =
(FAXCOMLib.FaxDoc)faxServer.CreateDocument(this.faxFileName);
faxDoc.FaxNumber = faxNode.FaxNumber;
faxDoc.DisplayName = faxNode.DisplayName;
faxDoc.RecipientName = faxNode.RecipientName;
faxDoc.DiscountSend = faxNode.DiscountSend;
faxDoc.SendCoverpage = faxNode.SendCoverPage;
faxDoc.Send();
}
}
Any help would be appreciated.
Thanks
John
allows the legacy application to pass an XML document to the .NET command
line code (C#) and then it will fax the formatted XML to the intended
recipient using FAXCOMLib. The code works great with one significant
problem. If the code is run under the context of an Adminstrator everything
works fine, I can send multiple faxes one after the other and they all
appear in the Windows 2000 fax queue and are eventually sent. If I perform
the same task as a regular user, only the first fax is placed in the queue
and sent. The remainder of the faxes appear as deadlocked processes in the
task manager but never complete the faxing process and never appear in the
Fax queue. I did find an article regarding setting the permission on the
MSFax directory for the Users group which allows the first job to fax
successfully but we need to be able to add faxes to the queue concurrently
without causing deadlock within the application. Once the deadlock has
occurred no one, including the adminstrator is able to fax until all of the
faxing processes are killed in the task manager.
Here is the Fax method it if helps.
public void Fax(FaxNode faxNode)
{
if (faxNode.FaxNumber!="")
{
FAXCOMLib.FaxServer faxServer = new
FAXCOMLib.FaxServerClass();
faxServer.Connect(this.faxServerName);
FAXCOMLib.FaxDoc faxDoc;
faxDoc =
(FAXCOMLib.FaxDoc)faxServer.CreateDocument(this.faxFileName);
faxDoc.FaxNumber = faxNode.FaxNumber;
faxDoc.DisplayName = faxNode.DisplayName;
faxDoc.RecipientName = faxNode.RecipientName;
faxDoc.DiscountSend = faxNode.DiscountSend;
faxDoc.SendCoverpage = faxNode.SendCoverPage;
faxDoc.Send();
}
}
Any help would be appreciated.
Thanks
John