Запуск ASP.net под Mono Linux - PullRequest
       8

Запуск ASP.net под Mono Linux

1 голос
/ 04 февраля 2012

В настоящее время я изучаю вопрос изменения моего веб-сервера с Windows на Linux.В настоящее время у меня есть программа asp.net, которая работает на моем сайте, и я хочу попробовать, чтобы она работала на Linux под моно.

Я скопировал все файлы со своего сервера Windows на мой тестовый сервер Linux, но когда я пытаюсь получить доступ к странице, я получаю следующую ошибку:

Неопознанное приписанное 'requestValidationMode'(/srv/www/htdocs/mywebsitedirectory/web.config

Ниже приведена копия файла web.config

<?xml version="1.0" encoding="UTF-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>

    <connectionStrings>
  <add name="DownloadManagerDB" connectionString="Server=localhost;Port=3306;Database=downloads;Uid=public;Pwd=54mCuw90;pooling=false;" providerName="MySql.Data.MySqlClient" />
 </connectionStrings>
    <system.web>
    <customErrors mode="Off" />
    <httpRuntime requestValidationMode="2.0" maxRequestLength="16384" />
        <compilation debug="true" targetFramework="4.0">
            <assemblies>
                <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
                <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /></assemblies></compilation>
        <authentication mode="Forms">
            <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
        </authentication>
        <membership>
            <providers>
                <clear />
                <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
            </providers>
        </membership>
        <profile>
            <providers>
                <clear />
                <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
            </providers>
        </profile>
        <roleManager enabled="false">
            <providers>
                <clear />
                <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
                <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
            </providers>
        </roleManager>
    </system.web>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
        <defaultDocument>
            <files>
                <clear />
                <add value="index.aspx" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="default.aspx" />
                <add value="index.html" />
                <add value="iisstart.htm" />
                <add value="index.php" />
            </files>
        </defaultDocument>
    </system.webServer>
</configuration>

Это выглядит так, как будто на странице ошибки Monoсчитает, что это asp.net версии 2, когда он на самом деле установлен на .net 4. Я использую моно версию 2.10.6, которая говорит, что она поддерживает .net 4.

Спасибо за любую помощь, которую вы можете предоставить.

ОБНОВЛЕНО: Вывод из работы ps auxwww | grep mono

wwwrun 12029 0,0 0,8 48800 8100? Ssl 19:55 0:00 / usr / bin / mono /usr / lib / mono / 2.0 / mod-mono-server2.exe - имя файла / tmp / mod_mono_server_global --nonstop - master root 12177 0,0 0,0 2524 768 pts / 1 S + 20:04 0:00 grep --color = autoмоно

1 Ответ

3 голосов
/ 05 февраля 2012

Как отметил @Eugen Rieck, вам нужно настроить mod-mono-server4 вместо server2.

После этой статьи,

http://docs.orchardproject.net/Documentation/Running-Orchard-on-Mono?Code=1

Вы должны перейти к настройке Apache и изменить MonoServerPath на / usr / bin / mod-mono-server4 (или действительный путь к вашему ящику). Затем вы можете проверить снова, чтобы убедиться, что этот атрибут может обрабатываться правильно. 1008 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...