事情是这样的,服务器比较老 windows server2003 ,上面运行的 php 版本有漏洞,但是 php 无法升级,操作系统更换也非常困难。 想使用 c#的 MVC 实现里面的 php 程序的功能,服务器是提供接口,接口形式不能变。 接口类似于 http://webserver.com/abc/def.php?code=abc123321 我想用 c#的 MVC 实现这个接口,请教大家 mvc 的程序和配置该如何实现? mvc 的程序一些,配置不是很熟。 感谢感谢
1
klo424 8 天前
外包吗?可以联系我
|
2
StoneHuLu 8 天前
.net 的 api 和 mvc 框架都是开箱即用的,有啥需要配置的。。
|
3
gbw1992 8 天前
你是想自己开发?
这个是 webapi 文档 https://dotnet.microsoft.com/zh-cn/apps/aspnet/apis ,配合 vs 随便看两眼基本就会 系统太旧直接 aot ,在哪都能跑 |
4
gbw1992 8 天前
|
5
wangybsyuct OP 在 abcController 里无法定义 ActionResult def.php(),这么写是无法通过编译。https://imgur.com/a/ZoIfFQ3
|
6
wangybsyuct OP @gbw1992 好像不行,操作系统太老了
|
7
jifengg 8 天前
[HttpGet("def.php")]
ActionResult xxxx(参数) |
8
wangybsyuct OP @StoneHuLu 在 c#mvc 程序里定义 ActionResult def.php(),来模拟以前的 php 访问请求,这么定义是错误的,我不知道该如何弄,才能完全模拟出这个请求。
|
9
wangybsyuct OP @jifengg [HttpGet("def.php")]这样写,提示错误,错误是《“System.Web.Mvc.HttpGetAttribute”不包含采用“1”个参数的构造函数》,可能是 mvc 的版本比较低,操作系统比较老,这个版本几乎 c#能用的最高版本了,我改为[HttpGet] [Route("def.php")]也不行,提示 Route 缺少 using 指令或程序集引用。
|
10
jifengg 8 天前
@wangybsyuct 你按你使用的版本,搜索相关的“自定义路由”“自定义 path”等关键词去找吧。这种小问题总会有解决办法的
|
11
gbw1992 8 天前
@wangybsyuct #5 这家伙,第一次写代码么? 建议先读读文档再动手。
|
12
lzzy1994 8 天前
|
13
lzzy1994 8 天前
|
14
ahswch 8 天前
第一步:.net4.6 配置路由(我这边路径是 项目目录/App_Start/RouteConfig.cs)
routes.MapHttpHandlerRoute("v2exTest", "abc/def.php", "~/t/testHandler.ashx"); 第二步:新建一般处理程序 路径:/t/testHandler.ashx 第三步:一般处理程序接受 code 参数 public void ProcessRequest(HttpContext context) { var code = context.Request["code"]; context.Response.ContentType = "text/plain"; context.Response.Write(code); } 第四步:测试 项目部署到服务器后访问 /abc/def.php?code=abc123321 返回 abc123321 注意:这种路由配置后,本地调试访问会 404 ,部署到服务器正常,建议在服务器使用 vs 调试代码 |
16
skydcnmana 8 天前
|
17
ddup 8 天前
自定义一下路由就行了,2003 系统你可以搜一下 .net framework 4 mvc 的路由配置。
|
18
wellerman 8 天前
用 requestRouter_x86.msi rewrite_x86_zh-CN.msi 这两个工具, 新 API 随便用什么写。
|
19
quan01994 8 天前
|
20
a33291 8 天前
这么老的系统大概率用 netcore 会有问题,我们部署的最低系统也是 server 2008
用以前的 netframework 应该是可以的,关于写法问题先读文档 此外,除了自带的 mvc,这种 api 的话还有一个叫 Nancy 的很不错,试试看 |
21
Mithril 8 天前
Server 2003 只能用.NET Framework 3.5 或 4 ,4.5 都不行。但这需要你安装才可以,自带的是.NET Framework 2 。
https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependencies 你得找老版本的 Visual Studio 和 Framework ,但 4 应该也足够写你这 WebAPI 了。 |
22
ttyn 8 天前 via Android
2003 用 mvc 有点麻烦,直接 aspx 或者 ashx 简单点,代码直接写页面,都不用编译,也方便修改
|
23
alwaysol 8 天前
用 nodejs 实现最简单,直接定义接口名叫 def.php,想要什么路由随便加
|