4

Centos 6.3 で実行される XSP 2.10 パッケージで mono 3.0 & nginx 1.2.4 と fastcgi-mono-serverX を取得しようと数日間試みてきました ... XSP4 サーバーは動作しますが、fastcgi メソッドを動作させることができません。

ソースから mono 3.0 をビルドしてテストしましたが、正常に動作します。

http://www.mono-project.com/FastCGI_Nginxの構成に従って、 nginx サイトの他の多くの設定を無駄にしました。

...現在の XSP 2.10 モジュールは mono 3.0 で動作しますか?
...XSP 2.10 で動作させるには、mono を 2.11.4 にダウングレードする必要がありますか? ...最終的には、ASP.Net 4.0 Web フォームを実行したいと考えています。

更新: mono-server.log からの出力は次のとおりです。

    Server stack trace: 
  at Mono.WebServer.FastCgi.ApplicationHost.ProcessRequest (Mono.WebServer.FastCgi.Responder responder) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) Mono.WebServer.FastCgi.ApplicationHost:ProcessRequest (Mono.WebServer.FastCgi.Responder)
  at (wrapper xdomain-dispatch) Mono.WebServer.FastCgi.ApplicationHost:ProcessRequest (object,byte[]&,byte[]&)

Exception rethrown at [0]: 
 ---> System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.FastCgi.WorkerRequest..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at (wrapper xdomain-invoke) Mono.WebServer.FastCgi.ApplicationHost:ProcessRequest (Mono.WebServer.FastCgi.Responder)
  at (wrapper remoting-invoke-with-check) Mono.WebServer.FastCgi.ApplicationHost:ProcessRequest (Mono.WebServer.FastCgi.Responder)
  at Mono.WebServer.FastCgi.Responder.Process () [0x00000] in <filename unknown>:0 
[2012-11-05 12:35:14Z] Error   Failed to process connection. Reason: The object was used after being disposed.
4

2 に答える 2

3

Xamarinにバグレポートを提出しようとしていました...その後、1年前に提出されたこのバグレポートに出くわしました。

https://bugzilla.xamarin.com/show_bug.cgi?id=2876

tl; dr

シェルスクリプト(で見つかりました)を更新し、からにwhich mono-fastcgi-server4移動する必要があります。mono-fastcgi-server4.exe/usr/lib/mono/4.0/usr/lib/mono/4.5

長い説明

前述のように、私はこれらのファイルの内容をリストしているメインの正規のUbu​​ntuソースmono-fastcgi-server4から直接パッケージを使用しています

/usr/bin/fastcgi-mono-server4
/usr/lib/mono/4.0/fastcgi-mono-server4.exe
/usr/lib/mono/gac/fastcgi-mono-server4/2.10.0.0__0738eb9f132ed756/fastcgi-mono-server4.exe
/usr/share/doc/mono-fastcgi-server4/AUTHORS
/usr/share/doc/mono-fastcgi-server4/NEWS.gz
/usr/share/doc/mono-fastcgi-server4/README
/usr/share/doc/mono-fastcgi-server4/README.Debian
/usr/share/doc/mono-fastcgi-server4/changelog.Debian.gz
/usr/share/doc/mono-fastcgi-server4/copyright
/usr/share/man/man1/fastcgi-mono-server4.1.gz

バグレポートソリューションに基づいて、これを機能させることができました。基本的に、手動で起動するために使用されるシェルスクリプトfastcgi-mono-server4.exe(にあるはずです)を編集し、.exeファイルを手動で移動します...または...私がCapistranoスクリプト/usr/binに組み込んだこの小さなスクリプトスニペットを使用できますdeploy:setupsedスクリプトを更新するために使用します。

fastcgi=$(which fastcgi-mono-server4) &&
sudo sed -i.bak -e 's/4\\.0/4.5/' $fastcgi &&
fastcgi_src='/usr/lib/mono/4.0/fastcgi-mono-server4.exe' &&
fastcgi_dest='/usr/lib/mono/4.5/fastcgi-mono-server4.exe' &&
if [ -f "$fastcgi_src" ]; then sudo mv $fastcgi_src $fastcgi_dest; fi;

このレポートも関連しているようです https://bugzilla.xamarin.com/show_bug.cgi?id=3582

于 2013-01-26T15:24:15.983 に答える
3

Mono 3.0 を使用している場合は、3.xのxspのタグも使用してください。話の終わり。

また、 3582のようなバグを回避するには、Mono 3.0.3 以降を使用してください。

于 2013-08-01T12:28:27.643 に答える