问题描述
我正在尝试通过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=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)