我们有一个使用DevExpress XtraReports生成pdf文件的wcf服务。
这通常如何工作我们在web.config中有物理目录示例C:\ PdfDocs \我们在执行devexpress ExportToPdf函数时指定为路径。这在普通虚拟机上运行良好。
我们现在正忙着迁移到Microsoft Azure环境,我无法让它运行起来。
我的设置 - wcf服务创建为App Service。不幸的是,我不能自由地给出名字所以我们假设以下内容:
应用服务名称 - testdocservice, Url Azure提供 - https://testdocservices.azurewebsites.net
我尝试过:
在应用程序设置中,我创建了一个虚拟目录。在项目本身中,我创建了一个虚拟目录将指向的文件夹。
虚拟路径为https://testdocservices.azurewebsites.net/ItinDocs,物理路径为site \ wwwroot \ ItinDocuments
这是正确的设置,因为我已经通过FTP测试pdf测试了它,然后点击以下网址:https://testdocservices.azurewebsites.net/ItinDocs/test.pdf
所以在wcf服务中我抓住机会并设置了将pdf渲染到" site \ wwwroot \ ItinDocuments" - 这没用。
例外情况如下:访问路径' D:\ Windows \ system32 \ site \ wwwroot \ ItinDocuments \ TestQuote21.pdf'被拒绝。
然后我尝试使用Server.MapPath示例:
QuoteV3 oQuote = new QuoteV3();
oQuote.DataSource = dSource;
oQuote.ExportToPdf(System.Web.HttpContext.Current.Server.MapPath($"~{ConfigurationManager.AppSettings["DocLocation"]}{fileName}"));
DocLocation如下所示:site \ wwwroot \ ItinDocuments \
这也行不通。出现以下错误:
'〜HTTPS:/testdocservices.azurewebsites.net/ItinDocs/TestQuote21.pdf'不是有效的虚拟路径。
我认为第一个角色"〜"可能是一个问题所以我删除它并得到与上面相同的错误 - ' https:/testdocservices.azurewebsites.net/ItinDocs/TravelQuote21.pdf'不是有效的虚拟路径。
然后我注意到上述错误在https之后只有一个正斜杠。此时我不确定是否可能导致问题,然后如何在Server.MapPath生成该部分时更正它。
总之,我不确定我是否正在采用上述方法朝着正确的方向努力。我对azure的了解仍然很少。
非常感谢任何帮助/协助/解决方案。
非常感谢。
答案 0 :(得分:0)
这可以关闭,因为我已经设置了azure存储而我的pdf正在保存在容器中。
感谢。