2017-10-06 6 views
0

私は.NET Web API開発とモノラルの両方を初めて使用しているので、この質問は基本的すぎるかもしれませんが、 Linux上のxsp4にWeb API 2プロジェクトをデプロイするためのものです。それも可能ですか?Linux上でWeb Api 2を実行する(モノ/ xsp4?)

ASP.NETアプリケーションを.aspxファイルに対応させて簡単に実行できましたが、Web APIアプリケーションは一度公開すると.configファイルと.dllファイルの束に過ぎません。

どのようにxsp4サーバー内で起動し、その中で指定されたすべてのルートが正しくマップされていますか?コマンドラインからやっていますか、あるいは設定ファイルが必要ですか?

+0

Web開発のためにMonoを放棄し、特に.NETの世界に初心者であれば、ASP.NET Coreに切り替えるべきです。https://docs.microsoft.com/en-us/aspnet/未来はある。 –

+0

@LexLiそれは私がモノラルで実行することができない場合、それは私の計画Bです。私はコアが新しくて最善の方法だと理解していますが、私はレガシーなアプリを手に入れましたが、むしろ、Linux上で手間を最小限に抑えたいと思っています。私が理解する限り、コアへの移行にはいくつかのコード変更が必要です:https://docs.microsoft.com/en-us/aspnet/core/migration/webapiそして、私がそれを助けることができればそれを避けることを望みます。 – ovscodes

答えて

0

ここで働いている基本的な方法です。

  1. はのは、それをwebapi.webapp呼びましょう、xsp4のための設定ファイルを作成します。設定ファイル内では、このアプリケーション定義:

    <apps> 
    <web-application> 
    <name>MyWebAPI</name> 
    <vhost>localhost</vhost> 
    <vport>9090</vport> 
    <vpath>/</vpath> 
    <path>/home/me/MyWebAPI</path> 
    </web-application> 
    </apps> 
    

    正直に言うと、私は実際に何をすべきかのバーチャルホストとVPORT知りませんが、私は今のところそれを台無しにする必要はありません。キーはパスとvpathです。パスは、ホストシステムのハードドライブ上に公開されているWebAPIプロジェクト全体を含むディレクトリの物理的な場所です。 Vpathは、定義しているこのWebアプリケーションに到達するためにURLに指定するものです。私はvpathとして/を指定しているので、このサーバー上のすべてのパスが私のアプリケーションに行くことを意味します。したがって、アプリ内では "/ webapi/v10/users"のようなルートを定義していて、/ vpathの場合は "localhost:9090/webapi/v10/users"でアクセスします。あなたは、次のコマンドを使用してxsp4起動

  2. (ポートの設定方法については、次の手順を参照してください):ステップ1で作成した設定ファイルへのパスを提供するために、

    xsp4 --appconfigfile webapi.webapp --port 9090 
    

    使用したappConfigFile、および設定サーバーがここで待機するポート。私はこれがconfigファイルのvportにどのように関連しているのか分かりませんが、それを理解するのは面倒ではありませんでした。

HTTPSが必要な場合は、xsp4も(マニュアルページに基づいて)サポートしているようですが、まだ試していません。それ以外の場合は、mod_monoを使用しなくてもApacheをリバースプロキシとして設定することもできます。

関連する問題