• 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文件了。

     

  • 相关阅读:
    【转载】mysql 日志开启
    无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。
    MVC4 本地IIS测试
    新浪网易IP地区信息查询API接口调用方法(转载)
    解决方案看起来是受源代码管理,但无法找到它的绑定信息。保存解决方案的源代码管理设置的 MSSCCPRJ.SCC 文件或其他项可能已被删除。由于无法自动恢复这些缺少的信息,缺少绑定的项目将被视为不受源代码管理。
    SQL语句中order_by_、group_by_、having的用法区别
    项目总结之关于JQuery一些常用的函数
    Log4Net使用指南之用log4net记录日志到数据库(含有自定义属性)------附Demo例子源代码
    HighCharts点击柱形或饼块等加URL或Click事件
    .Net用字符串拼接实现表格数据相同时合并单元格
  • 原文地址:https://www.cnblogs.com/xw-yanger/p/3436884.html
Copyright © 2020-2023  润新知