zoukankan      html  css  js  c++  java
  • 【代码保留】WebService发布本地磁盘信息

    今天有人问到如何在服务器A的WebApplication中访问服务器B的磁盘信息(文件Server)。

    方案很多啦:

    FTP协议访问、WebService发布磁盘信息、WCF构建等……

    随手就写了WebService的Demo,蛮放着……

    (未处理的东西多啦,特别是安全性的地方……)

    ///////////////////////code///////////////////////////////////////////////////

    using System.ComponentModel;
    using System.Web.Services;
    using System.IO;
    using System;

    namespace WebServiceFileDirectory
    {
        /// <summary>
        /// Summary description for Service1
        /// </summary>
        [WebService(Namespace = "http://volnet.cnblogs.com/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [ToolboxItem(false)]
        // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
        // [System.Web.Script.Services.ScriptService]
        public class ServiceFileDirectory : System.Web.Services.WebService
        {
            private static readonly string path = System.Configuration.ConfigurationManager.AppSettings["directory"];

            [WebMethod]
            public string[] GetDirectories()
            {
                if (MakeSurePath() == true)
                {
                    return Directory.GetDirectories(path);
                }
                return null;
            }

            [WebMethod]
            public string[] GetFiles()
            {
                if (MakeSurePath() == true)
                {
                    return Directory.GetFiles(path);
                }
                return null;
            }

            private bool? isCorrectPath = null;
            /// <summary>
            /// 确保路径正确
            /// </summary>
            /// <returns></returns>
            private bool? MakeSurePath()
            {
                try
                {
                    if (isCorrectPath.HasValue == false)
                    {
                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }
                        isCorrectPath = true;
                    }
                }
                catch
                {
                    isCorrectPath = false;
                }
                finally
                {
                }
                return isCorrectPath;
            }
        }
    }

    //Tester:

    protected void btnGetFiles_Click(object sender, EventArgs e)
    {
        FileSystem.ServiceFileDirectory sf = new WebApplicationTester.FileSystem.ServiceFileDirectory();
        string[] files = sf.GetFiles();
        string result= string.Empty;
        foreach (string str in files)
        {
            result += str + "<BR>";
        }
        this.Response.Write(result);
    }

  • 相关阅读:
    用Instant client批量安装Oracle客户端安装配置
    Oracle case when 用法(转)
    C# 读写ini文件 【转】
    oracle数据库删除数据Delete语句和Truncate语句的对比
    C#使用instantclient连接 Oracle 10g (转)
    SQL Server CONVERT() 函数
    c#格式化数字(转)
    InstantClient安装使用 (转)
    C# 四个字节十六进制数和单精度浮点数之间的相互转化
    oracle case when的使用方法
  • 原文地址:https://www.cnblogs.com/volnet/p/974786.html
Copyright © 2011-2022 走看看