zoukankan      html  css  js  c++  java
  • IIS配置网站(WebServices),局域网都能访问

    IIS配置网站(WebServices),局域网都能访问

    前言

    上篇说到在本机创建一个WebServices,用控制台应用程序调用WebServices的SayHello方法。

    http://www.cnblogs.com/xw-yanger/p/3434297.html

    今天说说把WebServices放到服务器(本机作为服务器)上,让局域网其他机子也能访问到。

    跟上期一样,这次写了一个上传图片到服务器的WebServices

    创建WebServices

     

    代码也很简单,一个上传,一个下载:

    //上传

    [WebMethod]

            public bool Up(byte[] data, string filename)

            {

                try

                {

                    FileStream fs = File.Create("E:\" + filename);

                    fs.Write(data, 0, data.Length);

                    fs.Close();

                    return true;

                }

                catch

                {

                    return false;

                }

            }

            //下载

            [WebMethod]

            public byte[] Down(string filename)

            {

                string filepath = Server.MapPath("E:\") + filename;

                if (File.Exists(filepath))

                {

                    try

                    {

                        FileStream s = File.OpenRead(filepath);

                        return ConvertStreamToByteBuffer(s);

                    }

                    catch

                    {

                        return new byte[0];

                    }

                }

                else

                {

                    return new byte[0];

                }

            }

    写好之后,发布(详见上篇文章)

    创建应用程序调用UpDownFileByWebServices

     

    两button,一个textBox,一个openFileDialog1

     

    Open单击事件代码:

    string filter = "图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";

                openFileDialog1.Filter = filter;

                if (openFileDialog1.ShowDialog() == DialogResult.OK)

                {

                    textBox1.Text = openFileDialog1.FileName;

                    //pictureBox1.Image = Image.FromFile(textBox1.Text);

                }

    UpLoad单击事件代码:

    //保存到远程服务器

                FileStream s = new FileStream(textBox1.Text, FileMode.OpenOrCreate);

                UpDownFile.Service1 client = new UpDownFile.Service1();

                client.Up(ConvertStreamToByteBuffer(s),"test.jpg");

     

    将Stream流转换为byte数组的方法

     

    //将Stream流转换为byte数组的方法

    public byte[] ConvertStreamToByteBuffer(Stream s)

            {

                MemoryStream ms = new MemoryStream();

                int b;

                while ((b = s.ReadByte()) != -1)

                {

                    ms.WriteByte((byte)b);

                }

                return ms.ToArray();

            }

     

    OK,代码写好之后,再配置网站,让WebServices跑起来,这样才能访问,而且配置很关键,注意方法。

    添加网站

    打开IIS,新建一个网站:

     


    这里注意:主机名配置的是本机的局域网IP(我在这纠结了好久才弄好的)。

    这里配置好之后启动网站,现在想让局域网能访问,我们还差最后一步:配置防火墙

    配置防火墙

    网上有方法 http://hi.baidu.com/xyrrwcom/item/93043153b966a1978d12edee

    这里我也贴出来,这是win7的,XP的百度找找看。

    1、开始---所有程序---管理工具---高级安全 Windows 防火墙。
    2、在高级安全 Windows 防火墙的左边栏;选择“入站规则”。
    3、在右边栏选择"新建规则“。
    4、在弹出的窗口依次选择:选中端口---下一步---选中TCP以及特定本地端口;
    5、填入要开放的端口号(这里填入80;当让也可以选择开放所有端口
    6、下一步---选中允许连接---下一步---选中所有选项---下一步---填入名称(这里填入IIS)。
    完毕。

    至此,应该就没什么问题了,把exe文件放到别的机子上运行试试,然后在看本机E盘下面是不是有一个test.jpg文件了。

     

  • 相关阅读:
    Java提高班(五)深入理解BIO、NIO、AIO
    Java提高班(四)面试必备—你不知道的数据集合
    Spring Boot 系列总目录
    Java提高班(三)并发中的线程同步与锁
    Java提高班(二)深入理解线程池ThreadPool
    Spring Boot(十四)RabbitMQ延迟队列
    Spring Boot(十三)RabbitMQ安装与集成
    Spring Boot(十二)单元测试JUnit
    Spring Boot(十一)Redis集成从Docker安装到分布式Session共享
    VS2013中Python学习笔记[环境搭建]
  • 原文地址:https://www.cnblogs.com/xw-yanger/p/3436884.html
Copyright © 2011-2022 走看看