5

タイトルが言うように-私はこれを次のように実行しようとしました:

http://www.integratedwebsystems.com/2011/12/get-started-with-amazon-ec2-run-your-net-mvc3-razor-site-in-the-cloud-with-linux-mono-2/

そして、非常に単純なASP MVC 4サイトを稼働させることができますが、WebAPIプロジェクトが関係していると、Apacheログに500と非常に不可解なエラーが発生します。

System.NullReferenceException: Object reference not set to an instance of an object
  at System.Web.Util.HttpEncoder.GetCustomEncoderFromConfig () [0x00000] in <filename unknown>:0 
  at System.Lazy`1[System.Web.Util.HttpEncoder].InitValue () [0x00000] in <filename unknown>:0 

私は推測していませんが、私が何か基本的な間違いをしているのかどうか知りたいです!

乾杯。

4

2 に答える 2

7

Mono 3.0.2 の時点では、ASP.NET WebAPI はまだサポートされていません。WebAPI はHttpRequest.GetBufferlessInputStream()を使用して HTTP 要求データを取得しますが、これは Mono にはまだ実装されていません。上記のエラー (Web.config の構成が正しくないことが原因である可能性があります) を回避すると、次のようなエラーが発生します。

アセンブリ /opt/mono-3.0.0/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll にメソッド System.Web.HttpRequest::GetBufferlessInputStream() がありません。アセンブリ /tmp/ で参照されています。 www-data-temp-aspnet-0/2956977a/assembly/shadow/5cf10065/cf4140da_93b040bf_00000001/System.Web.Http.WebHost.dll

バグ レポートについては、https://bugzilla.xamarin.com/show_bug.cgi?id=8008を参照してください。

于 2013-01-03T03:04:32.943 に答える
2

ServiceStack はもはやオープンソースではありません

ServiceStackを見ることができます。WebApi の十分にサポートされた代替手段であり、Mono でも実行されます。非常に高速で、拡張可能で、強力です。そのドキュメントはここここにあります。

于 2013-07-19T21:59:49.743 に答える