C# IIS/Azure云中是否允许System.IO.File访问?

C# IIS/Azure云中是否允许System.IO.File访问?,c#,wcf,iis,azure,C#,Wcf,Iis,Azure,我有一个WCF服务,通过WebClient获取CSV文件。它在我的本地机器上运行良好。然而,当部署在Azure云上时,它似乎会悄无声息地失败。我无法在日志文件中找到它失败的任何迹象 我假设此代码失败是因为: public void DownloadStockPriceFromYahoo() { if (File.Exists(_path)) { DateTime lastModified = Sys

我有一个WCF服务,通过WebClient获取CSV文件。它在我的本地机器上运行良好。然而,当部署在Azure云上时,它似乎会悄无声息地失败。我无法在日志文件中找到它失败的任何迹象

我假设此代码失败是因为:

 public void DownloadStockPriceFromYahoo()
        {
            if (File.Exists(_path))
            {
                DateTime lastModified = System.IO.File.GetLastWriteTime(_path);
                if (lastModified.Date < DateTime.Today)
                {
                    File.Delete(_path);
                    using (WebClient Client = new WebClient())
                    {
                        Client.DownloadFile("http://finance.yahoo.com/d/quotes.csv?s=MSFT+INTC+GM&f=snl1d1ohg", _path);
                    }
                }
            }
            else
            {
                using (WebClient Client = new WebClient())
                {
                    Client.DownloadFile("http://finance.yahoo.com/d/quotes.csv?s=MSFT+INTC+GM&f=snl1d1ohg", _path);
                }
            }
        }
public void从雅虎()下载股票价格
{
if(File.Exists(_path))
{
DateTime lastModified=System.IO.File.GetLastWriteTime(\u路径);
如果(lastModified.Date

可能是IIS不允许文件访问吗?还有什么选择?

您需要使用临时文件夹或本地存储文件夹才能下载文件。Azure保护您正在运行的文件夹不被写入。Emulator不会捕获它,但Azure运行时会

正在设置的_path的值是多少

下面是如何将文件夹设置为来自本地存储或临时文件夹:

    var folder = Path.GetTempPath();
    folder = RoleEnvironment.IsAvailable
        ? RoleEnvironment.GetLocalResource("StockPriceDownloadFolder").RootPath
        : folder;
现在,要将StockPriceDownloadFolder配置为本地存储,请选中以下链接: 您还可以通过Visual Studio UI(在角色的“属性”窗口中)配置文件夹


此外,请记住,此位置应为临时位置。。。当服务器在负载平衡环境中运行时,一台服务器将无法访问另一台服务器的存储。。。另外,Azure可以(也将)随意重新映像您的服务器(假设您正在使用云服务)

这很容易测试,不是吗?好的,你能告诉我如何测试这个吗?因为当我运行我的服务时,它只是挂起(超时)。日志文件中没有异常指示。您现在如何获取应用程序错误?当你抛出一个异常时,它会出现在某个控制台的某个地方吗?我是Azure的新手。当我将现有服务转换为Azure Webrole时,我才意识到我没有进行一般的异常处理。我刚刚发现了这一点,并将按照建议实施。希望我能在日志文件中看到一些东西。谢谢佩塔,你有什么样的代码吗?别害羞,有一个回答按钮是有原因的非常感谢你的帮助。你可能是对的。它被设置为
readonly string\u path=@“quotes.csv”