using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace MyWinFormsApp
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
}
}
}
1.在Program.cs中复制以下代码:
using System;
using System.Threading;
using System.Windows.Forms;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
namespace MyWinFormsApp
{
public class Program
{
public static Form1 MainForm { get; private set; }
[STAThread]
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().RunAsync();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm = new Form1();
Application.Run(MainForm);
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
}
var builder = Microsoft.AspNetCore.Builder.WebApplication.CreateBuilder(new string[]{});
builder.Services.AddControllers();
var app = builder.Build();
app.MapControllers();
app.RunAsync();
HomeController.cs
using Microsoft.AspNetCore.Mvc;
namespace RuyutWinFormsApi;
[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok("This is a test api");
}
}
您可以打开http://localhost:5000/api/home来查看This is a test api BTY,如果要更改端口,可以添加以下内容:
2条答案
按热度按时间zour9fqk1#
在Windows窗体应用程序中承载ASP.NET CORE API并与窗体交互
下面是一个基本的分步示例,介绍如何创建一个项目以在Windows窗体应用程序中承载ASP.NETCOREAPI,并执行与窗体的一些交互。
为此,请按照下列步骤操作:
1.创建一个Windows窗体应用程序,将其命名为
MyWinFormsApp
1.在设计模式中打开
Form1
,并将TextBox
放到它上面。1.在设计器中将
textBox1
的Modifiers
属性更改为Public
并保存。1.安装
Microsoft.AspNetCore.Mvc
软件包1.安装
Microsoft.AspNetCore
软件包1.在项目的根目录中创建一个
Startup.cs
文件,并复制以下代码:1.在
Program.cs
中复制以下代码:1.在项目的根目录中创建一个名为
Controllers
的文件夹。1.在
Controllers
文件夹中建立ValuesController.cs
,并将下列程式码复制到档案:1.执行应用程序。
1.在
textBox1
中键入“hi”1.打开浏览器并浏览http://localhost:5000/api/values →您将看到
hi
作为响应。1.您将在
textBox1
中看到bye
进一步阅读
您可能也对How to use Dependency Injection (DI) in Windows Forms (WinForms)感兴趣
dddzy1tm2#
我安装的
Microsoft.AspNetCore.Mvc
和Microsoft.AspNetCore
包不能使用我查看了这个WebApplication.CreateBuilder Method Doc,发现需要Microsoft.AspNetCore.dll,但是我无法使用它。
我希望它能帮助其他人。
安装Microsoft.AspNetCore.App软件包
最小API:
好了,现在你可以打开
http:localhost:5000
来看Hello World!
了string[] args
,而使用new string[] { }
*如果你想使用控制器,比如ASP.NET核心,那么你可以使用这个:
HomeController.cs
您可以打开
http://localhost:5000/api/home
来查看This is a test api
BTY,如果要更改端口,可以添加以下内容: