我在服务器计算机上的IIS中托管Web服务。我正在尝试使用Crystal Reports API将pdf文件导出到网络路径。我的本地机器出口工作正常。我根据代码的执行位置使用不同的路径。
从本地计算机我只需要使用\\dmzisilon\
但是从服务器计算机,我需要使用\\dmzisilon.x.com\
此次通话后,网络服务正在锁定:
doc.ExportToDisk(ExportFormatType.PortableDocFormat, @"\\dmzisilon.x.com\Test\03811Z.pdf");
使用(x.com)将公司名称保密。
获得例外:
The system cannot find the path specified.
我可以浏览\\dmzisilon.x.com\Test\
就好了。我甚至可以从服务器创建新文件。
如果我在本地运行Web服务并调用debug进行调用,则导出就好了。
我在此调用中添加的只是为了在代码中验证路径确实存在:
if (Directory.Exists(Path.GetDirectoryName(exportFileName)))
它验证路径是否存在。
我现在还不知道还有什么可以尝试的。被抛出的例外没有多大帮助。
感谢。
P.S。如果有任何不同,document.Load(@"\\dmzisilon.x.com\Reports\flyerrpt.rpt");
使用网络路径。
编辑:这是一个堆栈跟踪,如果这有助于任何人。
<StackFrame Index="4">
<FileName />
<Method>Void ExportToDisk(CrystalDecisions.Shared.ExportFormatType, System.String)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>151</ILOffset>
</StackFrame>
<StackFrame Index="3">
<FileName />
<Method>Void Export(CrystalDecisions.Shared.ExportRequestContext)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>99</ILOffset>
</StackFrame>
<StackFrame Index="2">
<FileName />
<Method>System.IO.Stream ExportToStream(CrystalDecisions.Shared.ExportRequestContext)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>389</ILOffset>
</StackFrame>
<StackFrame Index="1">
<FileName />
<Method>System.IO.Stream ExportToStream(CrystalDecisions.Shared.ExportRequestContext)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>794</ILOffset>
</StackFrame>
<StackFrame Index="0">
<FileName />
<Method>System.Object Export(CrystalDecisions.ReportAppServer.ReportDefModel.ExportOptions, CrystalDecisions.ReportAppServer.ReportDefModel.RequestContext)</Method>
<LineNumber>0</LineNumber>
<ColumnNumber>0</ColumnNumber>
<ILOffset>-1</ILOffset>
</StackFrame>