代码之家  ›  专栏  ›  技术社区  ›  CraftyFella

在windows box上使用Mono和XSP的示例网页

  •  0
  • CraftyFella  · 技术社区  · 17 年前

    我正在尝试让我的第一个ASP.NET网页在windows上使用 Mono 以及XSP web服务器。

    我在跟踪这些家伙 example . 这个 first part 他的例子中的一个在最新版本的mono上运行得非常好。然而,web部件似乎出现了以下错误

    “{Path Name}\Index.aspx.cs”不是 有效的虚拟路径。

    以下是完整的堆栈跟踪:

    System.Web.HttpException: 'C:\Projects\Mono\ASPExample\simpleapp\index.aspx.cs' is not a valid virtual path.  
       at System.Web.HttpRequest.MapPath (System.String virtualPath, System.String baseVirtualDir, Boolean allowCrossAppMapping) [0x00000]   
       at System.Web.HttpRequest.MapPath (System.String virtualPath) [0x00000]   
       at System.Web.Compilation.BuildManager.AddToCache (System.String virtualPath, System.Web.Compilation.BuildProvider bp) [0x00000]   
       at System.Web.Compilation.BuildManager.BuildAssembly (System.Web.VirtualPath virtualPath) [0x00000]   
       at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000]   
       at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath (System.String virtualPath, System.Type requiredBaseType) [0x00000]   
       at System.Web.UI.PageParser.GetCompiledPageInstance (System.String virtualPath, System.String inputFile, System.Web.HttpContext context) [0x00000]
       at System.Web.UI.PageHandlerFactory.GetHandler (System.Web.HttpContext context, System.String requestType, System.String url, System.String path) [0x00000]
       at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url, Boolean ignoreContextHandler) [0x00000]
       at System.Web.HttpApplication.GetHandler (System.Web.HttpContext context, System.String url) [0x00000]
       at System.Web.HttpApplication+<Pipeline>c__Iterator5.MoveNext () [0x00000] 
    

    我想知道是否有人知道这个错误是什么意思。我想我在找一位试用过windows版本的单声道专家。

    4 回复  |  直到 17 年前
        1
  •  1
  •   Jacksonh    17 年前

    可以粘贴用于启动xsp的命令行吗?如果您只运行一个webapp,那么实际上不需要这样的东西,这可能是问题的根源:

        2
  •  0
  •   CraftyFella    17 年前

    我使用的命令是:

    @echo off
    call C:\PROGRA~1\MONO-2~1.1\bin\setmonopath.bat
    xsp --root . --port 8088 --applications /:.
    

    我尝试在没有参数的情况下运行XSP,得到以下输出:

    xsp2侦听地址:0.0.0.0 根目录: C:\Projects\Mono\aspe示例侦听 端口上:8080(非安全)命中返回 停止服务器。

    http://localhost:8080

    我得到了与之前相同的输出,即抱怨cs文件不是有效的虚拟路径。

    谢谢你的回复。

    戴夫

        3
  •  0
  •   CraftyFella    17 年前

    XSD命令,没有参数。

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      <head>
        <title>Code behind Arrrrrrrrrrgh</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
        <script runat="server">
        private void Page_Load(Object sender, EventArgs e)
        {
           DisplayServerDetails();
           DisplayRequestDetails();
    
        }
    
        private void DisplayServerDetails()
          {
            serverName.Text = Environment.MachineName;
            operatingSystem.Text = Environment.OSVersion.Platform.ToString();
            operatingSystemVersion.Text = Environment.OSVersion.Version.ToString();
          }
    
          private void DisplayRequestDetails()
          {
             requestedPage.Text = Request.Url.AbsolutePath;
             requestIP.Text = Request.UserHostAddress;
             requestUA.Text = Request.UserAgent;
          }
    
        </script>
    
      </head>
    
      <body>
        <form method="post" runat="server">
             <table width="450px" border="1px">
                <tr>
                   <td colspan="2"><strong>Server Details</strong></td>
                </tr>
                <tr>
                   <td>Server Name:</td>
                   <td>
                      <asp:Label id="serverName" runat="server"></asp:Label></td>
                </tr>
                <tr>
                   <td>Operating System:</td>
                   <td>
                      <asp:Label id="operatingSystem" runat="server"></asp:Label>
                   </td>
                </tr>
                <tr>
                   <td>Operating System Version:</td>
                   <td>
                      <asp:Label id="operatingSystemVersion" runat="server">
                      </asp:Label>
                   </td>
                </tr>
             </table>
             <br>
             <table width="450px" border="1px">
                <tr>
                   <td colspan="2"><strong>Request Details</strong></td>
                </tr>
                <tr>
                   <td>Page Requested:</td>
                   <td>
                      <asp:Label id="requestedPage" runat="server"></asp:Label>
                   </td>
                </tr>
                <tr>
                   <td>Request From:</td>
                   <td>
                      <asp:Label id="requestIP" runat="server"></asp:Label>
                   </td>
                </tr>
                <tr>
                   <td>User Agent:</td>
                   <td>
                      <asp:Label id="requestUA" runat="server"></asp:Label>
                   </td>
                </tr>
             </table>
          </form>
      </body>
    
        4
  •  0
  •   Kris Erickson    17 年前

    您是否尝试过运行xsp2而不是xsp?