无法使与xsp4和docker一起运行的ServiceStack服务

问题描述

我正在尝试通过docker中的mono和xsp用servicestack运行准系统的asp.net应用程序。应用程序将按预期生成,然后Web服务器启动。我可以连接到容器的外壳,并确认所有dll都已正确构建并且位于bin目录中。

但是,每当我导航到该站点并尝试访问某个服务(例如http:// mysite / Metadata)时,我都会收到404。如果将常规html文件放在根目录中,则可以正确提供该文件

我相信我必须在使ServiceStack服务运行方面有所失误。我有一个Global.asax文件,并且一切正常在本地工作。 下面是docker文件和web.config文件

Docker File

FROM mono:6.6.0.161

RUN mono --version
copY . .
RUN  apt-get update && apt-get install -y mono-xsp \
  && apt-get autoremove -y && apt-get clean \
  && rm -rf /var/lib/apt/lists/* /tmp/*

RUN nuget restore app.sln
RUN msbuild app.sln


workdir /app

EXPOSE 80

ENTRYPOINT ["xsp4","--port","80"]

web.config

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application,please visit
  https://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.7.2"/>
    <httpRuntime/>
    <pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add path="*" name="ServiceStack.Factory" preCondition="integratedMode" type="ServiceStack.HttpHandlerFactory,ServiceStack" verb="*" resourceType="Unspecified" allowPathInfo="true"/>
    </handlers>
  </system.webServer>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /Nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider,PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /Nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>
</configuration>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)