如何从asp.net web-api中的另一个方法调用Windows中的方法
本文关键字:方法 另一个 调用 Windows web-api asp net | 更新日期: 2023-09-27 18:02:50
我有一个c#解决方案,它有2个项目:一个windows窗体项目(桌面)和一个asp.net web-api项目(REST服务)。我试图从ValuesController.cs中的Post()方法调用Form1.cs中的方法enableMachine(),但是尽管我引用了命名空间,它显示了错误。如果我将enableMachine()定义为静态,它可以工作,但我不能这样做,因为我还需要在此方法中实例化另一个对象。有什么办法解决这个问题吗?提前感谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using RestLayer.Models;
using ValidatorConnector;
namespace RestLayer.Controllers
{
public class ValuesController : ApiController
{
// POST api/values
public void Post()
{
...
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using log4net;
namespace ValidatorConnector
{
public partial class Form1 : Form
{
public Form1()
{
...
}
public void enableValidator()
{
...
}
}
最好的做法是将公共功能分离到一个不依赖于Forms或Asp.Net的单独项目中。然后将此汇编交给ASP。. Net和WinForms项目作为一个依赖项,然后你就可以从两个项目调用你的方法。