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

时间:2023-03-08 16:53:41
IIS配置网站(WebServices),局域网都能访问

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

前言

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

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

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

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

创建WebServices

IIS配置网站(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

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

两button,一个textBox,一个openFileDialog1

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

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,新建一个网站:

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

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

这里注意:主机名配置的是本机的局域网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文件了。

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