之前写过以dll为宿主的WebApi实现,参照:
https://blog.youkuaiyun.com/glmushroom/article/details/107538919
现在遇到前端跨域问题。
在NuGet中引入
在配置中进行设置 :
config.EnableCors();
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
public static bool isHostStart = false;
public static HttpSelfHostServer _hostServer = null;
public static void CreateWebHost(string Ip, int Port)
{
if (_hostServer == null)
{
try
{
string url = string.Format("http://{0}:{1}", Ip, Port);
var config = new HttpSelfHostConfiguration(url);
config.EnableCors();
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/v1.0/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
config.MapHttpAttributeRoutes();
_hostServer = new HttpSelfHostServer(config);
_hostServer.OpenAsync().Wait();
foreach (var api in _hostServer.Configuration.Services.GetApiExplorer().ApiDescriptions)
{
//Logger.Info(api.ID);
//Logger.Info(api.RelativePath);
}
isHostStart = true;
}
catch (Exception ex)
{
}
}
}