当前位置: 首页 > news >正文

网站开发建立站点道县找人做网站

网站开发建立站点,道县找人做网站,北京朝阳客户端,东丽区 网站建设1. 服务端代码(C#) 1.1 创建ASP.NET Core Web API项目 打开Visual Studio 2022。 选择“创建新项目”。 选择“ASP.NET Core Web API”模板,点击“下一步”。 输入项目名称(如OracleApi),选择项目位置&…

1. 服务端代码(C#)

1.1 创建ASP.NET Core Web API项目
  1. 打开Visual Studio 2022。

  2. 选择“创建新项目”。

  3. 选择“ASP.NET Core Web API”模板,点击“下一步”。

  4. 输入项目名称(如OracleApi),选择项目位置,点击“创建”。

1.2 安装Oracle数据库依赖

使用NuGet管理包工具在项目中安装Oracle数据库的EF Core依赖:Oracle.EntityFrameworkCore

1.3 配置数据库上下文

在项目中创建一个AppDbContext类,用于连接和操作users表。

AppDbContext.cs代码:
using Microsoft.EntityFrameworkCore;namespace OracleApi
{public class AppDbContext : DbContext{public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }public DbSet<User> Users{ get; set; }  // 对应users表}
}

创建实体类User

User.cs代码:

using System.ComponentModel.DataAnnotations.Schema;namespace OracleApi
{[Table("users")]  // 显式指定表名public class User{[Key]  //指定主键为Idpublic string Id{ get; set; }  // 对应数据库中的 Id 字段public string Name{ get; set; }  // 对应数据库中的 Name 字段}
}
1.4 创建控制器

Controllers文件夹中创建一个TeachersController类,用于处理按TEACHCODE查询TEACHERNAME的请求。

TeachersController.cs代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Linq;
using System.Threading.Tasks;namespace OracleApi.Controllers
{[ApiController][Route("api/[controller]")]public class TeachersController : ControllerBase{private readonly AppDbContext _context;public TeachersController(AppDbContext context){_context = context;}[HttpGet("{Id}")]public async Task<IActionResult> GetTeacherName(string Id){try{var user = await _context.Users.Where(t => t.Id == Id).Select(t => new { t.Id, t.Name }).FirstOrDefaultAsync();if (user == null){return NotFound($"User with Id {Id} not found.");}return Ok(user);}catch (DbException ex){return StatusCode(500, $"Database error: {ex.Message}");}catch (Exception ex){return StatusCode(500, $"Internal server error: {ex.Message}");}}}
}
1.5 配置数据库连接

appsettings.json中添加Oracle数据库的连接字符串。假设你的Oracle数据库配置如下:

  • 用户名:your_username

  • 密码:your_password

  • 数据库服务器地址:your_oracle_server

  • 端口:1521

  • 服务名:your_service_name

appsettings.json代码:
{"ConnectionStrings": {"DefaultConnection": "User Id=your_username;Password=your_password;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=your_oracle_server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=your_service_name)));Persist Security Info=True"},"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*"
}
1.6 配置依赖注入

Program.cs中配置数据库上下文和中间件。

Program.cs代码:

// 这段代码是 ASP.NET Core Web API 应用程序的入口点,它配置了应用程序的中间件、服务和数据库上下文。
using Microsoft.AspNetCore.HttpsPolicy; // 引入用于 HTTPS 策略的命名空间
using Microsoft.EntityFrameworkCore; // 引入 Entity Framework Core 命名空间,用于数据库操作
using Microsoft.Extensions.Options; // 引入用于配置选项的命名空间namespace WebApplication1 // 定义命名空间,通常是项目名称
{public class Program // 定义一个名为 Program 的类,作为应用程序的入口{public static void Main(string[] args) // 定义主方法,程序的入口点{// 创建一个 WebApplicationBuilder 实例,用于配置应用程序var builder = WebApplication.CreateBuilder(args);// 添加 CORS 配置// CORS(跨域资源共享)允许前端应用从不同的源(域名、协议或端口)发送请求builder.Services.AddCors(options =>{// 添加默认的 CORS 策略options.AddDefaultPolicy(policy =>{// 允许来自 http://localhost 的请求policy.WithOrigins("http://localhost").AllowAnyHeader() // 允许任何请求头.AllowAnyMethod(); // 允许任何 HTTP 方法(GET、POST 等)});// 可以定义多个 CORS 策略,并在需要时指定使用哪个策略options.AddPolicy("AllowLocalhost3000", policy =>{policy.WithOrigins("http://localhost:3000").AllowAnyHeader().AllowAnyMethod();});options.AddPolicy("AllowAll", policy =>{policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();});});// 添加控制器支持builder.Services.AddControllers();// 添加数据库上下文服务builder.Services.AddDbContext<AppDbContext>(options =>// 配置数据库上下文使用 Oracle 数据库options.UseOracle(builder.Configuration.GetConnectionString("DefaultConnection")));// 构建应用程序实例var app = builder.Build();// 使用 CORS 中间件// 确保应用程序能够处理跨域请求。app.UseCors();  // 使用默认策略//app.UseCors("AllowLocalhost3000"); // 使用指定的策略// 使用授权中间件,用于处理用户授权逻辑。app.UseAuthorization();// 映射控制器路由,使得应用程序能够处理 HTTP 请求并调用相应的控制器方法。app.MapControllers();// 启动应用程序,开始监听 HTTP 请求。app.Run();}}
}

2. 客户端代码(JQuery)

2.1 创建HTML页面

创建一个简单的HTML页面,用于输入TEACHCODE并调用服务端接口。

index.html代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Teacher Query</title><script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
</head>
<body><h1>Query Teacher by TEACHCODE</h1><input type="text" id="userId" placeholder="Enter TEACHCODE" /><button id="queryButton">Query</button><div id="result"></div><script>$(document).ready(function () {$('#queryButton').click(function () {var userId= $('#userId').val();$.ajax({url: `http://localhost:5000/api/users/${userId}`, // 修改为你的API地址type: 'GET',success: function (data) {$('#result').html(`ID: ${data.Id}, Name: ${data.Name}`);},error: function (xhr, status, error) {$('#result').html(`Error: ${error}`);}});});});</script>
</body>
</html>

3. 部署到Windows上的Apache服务器

3.1 准备发布文件
  1. 在Visual Studio中,选择“发布”选项,将项目发布为自包含的可执行文件。

  2. 选择目标框架(如net6.0)和目标运行时(如win-x64)。

  3. 选择发布目标路径,例如bin\Release\publish

  4. 点击“发布”。

3.2 配置Apache
  1. 安装Apache:确保Apache服务器已安装并运行。

  2. 安装mod_proxy模块:确保mod_proxy模块已启用。打开httpd.conf文件,取消注释以下行:

    apache复制

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
  3. 配置虚拟主机:在httpd.conf文件中,添加以下虚拟主机配置:

  • <VirtualHost *:80>ServerName localhostDocumentRoot "C:/Apache24/htdocs"ProxyPreserveHost OnProxyPass /api/ http://localhost:5000/api/ProxyPassReverse /api/ http://localhost:5000/api/
    </VirtualHost>
  • DocumentRoot指向Apache的根目录。

  • ProxyPassProxyPassReverse/api/路径的请求转发到ASP.NET Core应用。

   4. 保存并重启Apache

3.3 启动ASP.NET Core应用
  1. 打开命令提示符或PowerShell。

  2. 导航到发布目录(如bin\Release\publish)。

  3. 启动应用,命令行输入:

    dotnet OracleApi.dll

3.4 将客户端代码放在Apache根目录
  1. index.html文件放在Apache的根目录(如C:\Apache24\htdocs)。

  2. 确保Apache能够正常提供静态文件服务。

4. 测试

  1. 打开浏览器,访问http://localhost

  2. 输入用户Id 并点击“Query”按钮。

  3. 如果一切配置正确,页面将显示对应的用户信息。

http://www.yayakq.cn/news/607623/

相关文章:

  • 商城网站建设用乐云seo系统做网站优化
  • 南昌好的做网站的公司中国最新的军事新闻
  • 常用网站图标网页设计应该学什么专业
  • 网站登录人太多进不去怎么办昆明网站开发公司电话
  • 咸阳做网站公司网页传奇单职业
  • 个人建站的app哪里有卖gov域名网站有哪些
  • 做电商讲师课程的网站建设网站优化
  • 网站建设有什么需求阿里云 企业网站选哪种
  • 个人 网站建设免费制作简历
  • 彩票网站模板源码长沙网络推广平台
  • 建设银行手机登录网站海外服务器购买
  • 云梦县建设安全网站高端品牌网站建设特点
  • 正规设计兼职网站有哪些网站定制开发建设
  • 单页网站欣赏黑色网站源码
  • html5 wap网站模板动画网站建设的实验步骤
  • 南开大学 网站开发技术 刘冲盗版网站怎么做的
  • 东莞市企业网站制作企业淘宝客网站女装模板下载
  • html 网站门头设计
  • 怎样做网站建设方案吴江区建设用地申报网站
  • 揭阳网站制作套餐小新pro更改网站设置
  • 注册公司是在哪个网站东莞外贸网站制作
  • 网站的内容规划怎么写中国建设劳动学会监制网站
  • 微网站网站模板建站网站布局结构图
  • 开发php网站建设龙华哪有做网站设计
  • 做请柬网站wordpress短代码插件
  • 佛山市网站建站网站正规的报价单格式
  • 试述网站建设的流程.wordpress建站镜像
  • 做下一个盗版小说网站网站访问速度慢
  • 网站如何做微信推广方案求和萝莉做的网站
  • 网站怎么做才有效果烟台市铁路建设管理局网站