@[TDC]
1、内网与外网(LAN、WAN)
内网与外网 百度知道
在内网发布网站的实例
外网IP紧张,按照IPV4格式,IP地址最多有4,228,250,625个组合结果,算算我们全世界多少人,而且每个人可能不止一台联网设备。想想看如果大家都申请一个IP地址,直接把设备直连到互联网中,那么我们的IP地址将很快用尽。因此,诞生了内网这一替代方式。
分配给内网的IP地址有:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
我们平时上网,基本都是设备先连接到路由器、交换机上,然后路由器、交换机再通过一个外网IP连接到互联网中。想想看,如果这时你在本机上发布网站,因为你用的是内网IP,那么没有连接在同一台路由器(同一内网)中的其他联网设备,当然不能访问你的网站了。
因此,若想被其他设备访问你辛辛苦苦做的网站或Web应用,我们需要发布这些项目到外网上。方法有很多种,比如发布到虚拟主机上;或者设置本地路由器,在路由器上做网站端口映射。这里笔者只介绍虚拟主机方式:通过FTP服务把网站发布到三丰云虚拟主机上,之后就可以通过三丰云提供的域名进行外网访问了。
2、前、后端打通实例
这里笔者提供一个简单实例,请各位多指教。
环境配置与工具:Windows10、IIS10.0 Express、SQLServer2019Express、Visual Studio2019
我打算在网页显示一个按钮、一个文本框。文本框输入的是SQL语句,并使用ashx访问服务器中的数据库。
网页部分我就不赘述了,在按钮的点击事件中使用jQuery框架的ajax方法,把文本框的值传入到Handler2.ashx:
$(function () {
$(".btn2").on("click", function () {
var value = $("textarea").val();
$.ajax({
url: "Handler2.ashx",
type: "get",
data: {
"value":value
},
success: function (data) {
$("p").text(data);
},
error: function (xhr) {
$("p").text(xhr.text);//p标签文本显示读取数据库内容
}
})
})
});
设置好前端后,我们实现一下Handler2.ashx。这里主要实现的是获取前端的传值、读取数据库。噢对了,我使用ADO.NET技术读取SQLServer数据库。不了解的老哥们可以查阅我要自学网之ADO.NET
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
namespace learnHtmlOne
{
/// <summary>
/// Handler2 的摘要说明
/// </summary>
public class Handler2 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string str = context.Request["value"].ToString();
string data="";
SqlConnection sql = new SqlConnection("server=.;user=sa;pwd=123;database=mydb001");
sql.Open();
using (sql)
{
SqlCommand sqlCommand = new SqlCommand(str, sql);
SqlDataReader dataReader = sqlCommand.ExecuteReader();
while(dataReader.Read())
{
for(int i = 0; i < dataReader.FieldCount; i++)
{
data += dataReader[i].ToString();
data += ",";
}
}
}
context.Response.Write(data);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
最后,效果如下:
项目工程下载——0积分