2016-06-16 9 views
0

状況

  • のサブフォルダ内の1つのIISの、のはMAINとSVC(SOAPサービス)と呼んでみましょう。
  • どちらもASP.NET MVCで記述されています。
  • これらは(例えば)https://prog.example.comでホストされています。
私はSVCのサービスは、(MAINのサブフォルダ=>) https://prog.example.com/svc/myservice.svcとして到達可能でなければなりません
  • https://prog.example.comとして
    • MAINが到達可能でなければなりません欲しい

    私の問題

    MAINがhttps://prog.example.com/mainというように到達可能な場合、これを動作させることができます。両方のURLが区別されます。 SVCがMAINからのサブURLである場合(私が望むものを参照)、それはもはや到達可能ではありません。もういくつかのクラスが見つからないので、サービスのコードが失敗します。二つのサブアプリケーション(メイン、SVC)と8.5 2つのウェブサイト、私は2つのウェブサイトを持っている他の

    現状

    サイトでは動作しますが、MAINメインサブフォルダを/持っています。サイトをMAINのフォルダ(サブアプリケーションなし)に直接向けると、MAINは必要に応じて到達可能ですが、私の問題で述べたようにSVCは例外をスローします。

    /mainのようなサブフォルダなしでメインWebサイトに直接アクセスできる場合でも、私のサービスは引き続き動作するIISを設定できますか?

    MAINに/ mainを置いて、基本URLを/ mainにリダイレクトする考えがありました。これにより/ main/main/main/main /のループが発生しました。

    https://prog.example.comおよびhttps://service.example.com(したがって、バインドはサブドメインによって異なる可能性があります)。

  • 答えて

    0

    これは完全に可能です。 SVCをIISのMAINサイトの仮想アプリケーションとして追加するだけです。

    Web.configファイルは継承されているため、MAINのアプリケーションはMAINのWeb.configを継承します。これはしばしば競合を招く。上記の競合を解決するか、問題を引き起こすMAINのWeb.configの任意のセクションで継承を無効にする必要があります。たとえば:あなたはノードごとにこれをしなければならないので、

    <connectionStrings inheritInChildApplications="false"> 
        ... 
    </connectionStrings> 
    

    は残念ながら、単に全体のWeb.configの継承を無効にする方法はありません。

    関連する問題