c# - ASP.Net 检查远程文件是否存在

标签 c# asp.net css web-applications

我有一个 ASP.Net 网站,其中包含指向存储在文件服务器上的文件的链接。这些文件不断被修改,因此链接并不总是有效,这包括权限更改、文件被移动或删除等。我在代码隐藏中实现了一个方法来检查这些链接在构建时的有效性,如果失败,代码将添加 CSS 来更改链接的颜色:

检查网址

    /// <summary>
    /// Check if a URL exists. Method by http://www.vcskicks.com/check-website.php
    /// </summary>
    /// <param name="url">URL to validate</param>
    /// <returns>True if the URL was resolved, false otherwise</returns>
    private static bool validURL(string url)
        {
            Uri urlCheck = new Uri(url);
            WebRequest request = WebRequest.Create(urlCheck);
            request.Timeout = 5000;//Timeout set to 5 seconds

            WebResponse response;
            try
            {
                response = request.GetResponse();
                if (request.RequestUri != response.ResponseUri)
                    return false;

                return true;
            }
            catch (Exception e)
            {
                if (e.Message.Contains("denied"))
                    return true; //url exists but access is denied
                else
                    return false; //url does not exist
            }

}

调用上面的方法

link.NavigateUrl = "file://" + serverLocation;
                        //MODIFICATION 3/21/11 - change link to DarkRed if it is not valid
                        if (!validURL(link.NavigateUrl))
                        {
                            link.Attributes.Add("style", "color: DarkRed");
                        }

我的问题是并非所有无效链接都添加了样式。奇怪的是,当我在 Debug模式下使用未着色的错误链接之一单步执行该方法时,该方法将返回 false 并按预期为链接着色。与我上面介绍的内容相比,涉及的内容更多,但我搜索了整个 aspx 代码隐藏以查找设置链接 url 的任何其他位置,但找不到任何内容。我不知道是否有一些后期处理以某种方式清除了应用于某些链接的任何样式。有些链接是彩色的,而另一些则不是,这一事实让我很困惑。有没有其他人遇到过类似的行为?

最佳答案

关于c# - ASP.Net 检查远程文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5424414/

相关文章:

c# - 当 ViewModel 改变时如何让 View 更新

c# - 接受 "params"哪些是列表本身?

c# - 使用自定义属性和模型打开 asp.net mvc 窗口

asp.net - ASP.NET 5 中的全局异常处理

asp.net - 更新 dll 时使用 app_offline.htm 使应用程序脱机 更新 dll 时失败

html - 从 PSD 构建 "pixel perfect"和响应式网页设计?

c# - catch 关键字如何确定抛出的异常类型?

c# - 好的 C# 线性规划库?

html - 页脚移动到页面顶部?

html5 + css3 slider 动画问题与 chrome