我创建了一个 docker 文件并公开了端口。我还设置了我的program.cs来读取这些URL +端口,但我无法访问它。
从我在 Docker 控制台中可以看到我的应用程序正在运行。我就是达不到。
我尝试过 localhost:5024 和 172.17.0.2:5024 但它就是没有命中。
这是我的 docker 文件
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR /app
EXPOSE 80
EXPOSE 5024
# copy csproj and restore as distinct layers
COPY *.sln .
COPY Api/*.csproj ./Api/
RUN dotnet restore
# copy everything else and build app
COPY Api/. ./Api/
COPY Api.Core/. ./Api.Core/
WORKDIR /app/Api
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /app
COPY --from=build /app/Api/out ./
ENTRYPOINT ["dotnet", "Api.dll"]
Run Code Online (Sandbox Code Playgroud)
这是我的程序.cs
public static …Run Code Online (Sandbox Code Playgroud) 我有一个 javascript 部分的视图。在这个视图中,我有一个带有 onclick 事件的 javascript,该事件在选项卡单击时触发以加载部分视图,这一切都完美无缺。
现在我知道部分视图上的 javascript 无法正常工作,因此在主视图中我想添加一个单击事件,以便在单击打印按钮时使用。
<script type="text/javascript">
$(function () {
$('#printBtn').click(function () {
debugger;
printElement(document.getElementById("modal-body"));
window.print();
});
$('#tabStrip a').click(function (e) {
e.preventDefault()
var tabID = $(this).attr("href").substr(1);
$(".tab-pane").each(function () {
$(this).empty();
});
$("#" + tabID).empty().append("<div class='loader'><img src='/Content/img/Loader/ajax-loader.gif' alt='Loading' /></div>");
$.ajax({
url: "/Account/CustomerTab",
data: { Id: tabID },
cache: false,
type: "get",
dataType: "html",
success: function (result) {
$("#" + tabID).empty().append("<div id='replaceDiv'>" + result + "</div>");
$(document).trigger('ready');
debugger;
}
});
$(this).tab('show')
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
所以选项卡点击工作完美,但是一旦我的部分视图被加载,打印按钮调试器就不会被点击。这是我的局部视图中的按钮。
<button id="printBtn" type="button" …Run Code Online (Sandbox Code Playgroud) 我有一个控制台应用程序,其中引用了一个类库,该应用程序本身也引用了一个类库(瀑布)。问题是我想IConfiguration通过 Autofac 模块传递它来注册我的,然后让它们在最低的库中访问,我不知道如何实现这一点。(我的设计要点是拥有一个独立的 NuGet 包,可以通过控制台应用程序或网站引用)
重点是我想在我的新网站中注册 main .dll( Notification.Send),而不必担心注册较低的杠杆.dll( Notification.Queue),但仍然可以访问网站appsettings.json。这是我的例子
控制台应用程序
class Program
{
static void Main(string[] args)
{
IConfiguration Configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.AddCommandLine(args)
.Build();
var builder = new ContainerBuilder();
//How to pass "Configuration" to SendNotificationModule?
builder.RegisterModule(new SendNotificationModule());
}
}
Run Code Online (Sandbox Code Playgroud)
通知.发送(库)
public class SendNotificationModule : Module
{
protected override void Load(ContainerBuilder builder)
{
base.Load(builder);
//How to pass "Configuration" to QueueModule?
builder.RegisterModule(new QueueModule());
}
} …Run Code Online (Sandbox Code Playgroud)