Я могу без проблем запустить написанное мной консольное веб-приложение и получить желаемый вывод, который отображает сообщения обратно в командную строку.
Однако теперь я ссылался на это веб-приложение на консольное приложение, и теперь я получаю сообщение об ошибке, описанное в заголовке.
Я попытался удалить сертификаты localhost
из MMC вручную,в разделах «Сертификаты - текущий пользователь» и «Сертификаты - доверенные корневые центры сертификации». Я также попытался войти в командную строку Visual Studio и выполнить dotnet dev-certs https --clean
, а затем dotnet dev-certs https`` as well as
dotnet dev-certs https --trust``. Я также выполнил, используя verbose
, что не изменило результат.
Я также восстановил IIS 10.0 Express и перезапустил свой ноутбук, чтобы приобрести IIS Express Development Certificate
Консольное приложение C # (Program.cs):
namespace Rapiscan264_3
{
class Program
{
static void Main(string[] args)
{
string[] argsWeb = new string[] { "192.168.2.2", "1234" };
WebApplication1.Program.Main(argsWeb);
;
}
}
}
WebПриложение C # (Program.cs):
namespace WebApplication1
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine($"HALO REST Server Simulator Copyright 2019\n");
IPAddress ipAddress = IPAddress.Parse("192.168.2.2");
int port = 1234;
if (args.Length < 2)
{
Console.WriteLine($"*ERROR* - Number of Arguments Passed to Startup Incorrect, Expected 2 but Received { args.Length }!\n");
}
else
{
if (!IPAddress.TryParse(args[0], out ipAddress))
{
Console.WriteLine($"*ERROR* - Invalid IP Address Configured, IP={ args[0] }\n");
}
if (!int.TryParse(args[1], out port))
{
Console.WriteLine($"*ERROR* - Invalid Port Configured, Port={ args[1] }\n");
}
}
string url = $"https://{ ipAddress.ToString() }:{ port.ToString() }";
Console.WriteLine($"Starting REST Server with URL = { url }\n");
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseUrls("https://192.168.2.2:1234")
.UseStartup<Startup>();
}
}
Startup.cs:
namespace WebApplication1
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
env.EnvironmentName = "Development";
env.WebRootPath = "C:\\Users\\jch\\source\\repos\\Rapiscan264-3\\WebApplicationSourceCode\\wwwroot";
env.ContentRootPath = "C:\\Users\\jch\\source\\repos\\Rapiscan264-3\\WebApplicationSourceCode";
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
app.UseMvc();
}
}
}
Просто для повторения без консольного приложения или настройки веб-приложения, так как запускаемое приложение работает нормально и нормальноЯ хотел бы включить ожидаемые результаты, но это просто много текста из консольного приложения.
Я предполагаю, что проблема связана с сертификатом или может возникнуть конфликт, которого я не вижу.
РЕДАКТИРОВАТЬ: я должен также упомянуть, что я нахожусь на Windows 10. И когда я извиняюсь `` `dotnet dev-certs https --check``, я получаю сообщение« Был найден действительный сертификат ».