1

サービス スタックを使用しており、たとえば /Model/v1.0/Save などのバージョン番号を示すために、ルーティングにピリオドを含める必要があります。

サービスを IIS6 に展開すると完全に動作しますが、Visual Studio を介してローカルで実行すると、Request handler not found のエラーが発生します。ピリオドを削除すると機能します!!

私はすべての質問に目を通し ましたが、パスにピリオドが存在する場合に ServiceStack Handler が見つかりませんという類似の質問がありましたが 、答えはそれができないことを意味し、私はそれが機能しているのを見てきました。第二に、回答で参照されているリンクでは、サービススタックの残りのテストは、ピリオドのあるバージョン番号が有効なルートであることを示しているようです?? ここを参照して ください https://github.com/ServiceStack/ServiceStack/blob/master/tests/ServiceStack.ServiceHost.Tests/RestPathTests.cs#L210

誰かがこれについてのガイダンスを教えてください!ありがとう

4

1 に答える 1

1

I just answered this similar question, and i think the same should apply in this case: Visual Studio Development Server (Cassini) does incorrect routing for dots.

If you create a file system Web site in Visual Studio 2010 and the Web site is in a folder that contains a dot (.) in the folder name, URL routing will not work reliably. An HTTP 404 error is returned from some virtual paths. This occurs because Visual Studio 2010 launches the Visual Studio Development Server (Cassini) using an incorrect path for the root virtual directory.

There are 3 workarounds, and only the "use IIS instead of Cassini" workaround seems to work for ServiceStack.

The problem will go away if you edit your project Web properties and check "Use IIS Express" instead of "Visual Studio Development Server".

The cases to use IIS Express are explained in the announcement, and there is a download link.

于 2013-09-14T21:57:04.763 に答える