0

Webサービスを公開できません。単純なはずです。

  1. IISでアプリを作成します。
  2. 4.0Classic.Netとして配置します
  3. VS2012内の.NetSolutionから公開します。右クリックしてWebサービスプロジェクトで公開します。

ファイルが配置され、指定されたサーバーのURLでブラウザに自動的に表示されます。

しかし、私は次の問題に遭遇しました。

HTTP Error 404.17 - Not Found 
The requested content appears to be script and will not be served by the static file handler.

だから私はそれを探して、この2つのオプションを見つけました:

オプション1:

http://www.banmanpro.com/support2/Requested_Content_Appears_to_be_Script.asp

これは、ClassicAppPoolではなくIntegratedに移動する必要があることを示しています。しかし、問題を別の問題に変更した場合と同じです。

HTTP Error 500.21 - Internal Server Error
Handler "WebServiceHandlerFactory-Integrated" has a bad module "ManagedPipelineHandler" in its module list

Web構成に移動すると、このエラーが何を話しているのかがわかります。ハンドラータグが表示されません。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appSettings />
  <connectionStrings />
  <system.web>
    <compilation targetFramework="4.0" />
    <!--
      The <authentication> section enables configuration 
      of the security authentication mode used by 
      ASP.NET to identify an incoming user. 
    -->
    <authentication mode="Windows" />
    <!--
       The <customErrors> section enables configuration 
       of what to do if/when an unhandled error occurs 
       during the execution of a request. Specifically, 
       it enables developers to configure html error pages 
       to be displayed in place of a error stack trace.

       <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="NoAccess.htm"/>
         <error statusCode="404" redirect="FileNotFound.htm"/>
       </customErrors>
    -->
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
  </system.web>
    <system.webServer>
        <directoryBrowse enabled="true" />
    </system.webServer>
  <!-- 
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
</configuration>

追加する必要がありますか?もしそうなら、どのように?

オプション2:

IIS7.5の静的ファイルハンドラーによって提供されないスクリプト

基本的にはaspnet_regiis-iを実行する必要があると書かれていますが、試してみると

%windir%\ Microsoft.NET \ Framework\v4.0.30319に移動します

フォルダが存在していても、aspnet_regiisはありません!!

2.0 Fwk =(でaspnet_regiisしか見つかりませんでした

それは正常ですか?

4

1 に答える 1

1

ハンドラータグは答えではありませんでしたが、両方のオプションにより、fwk 4 の欠落している aspnet_regiis を探すようになりました。

そもそも完全な fwk 4.0 が実際にインストールされていなかったため、aspnet_regiis はありませんでした。

フレームワーク 4 クライアント プロファイルとフル バージョンではないデバッガーをサーバーにインストールしました。これからは、fwk 4 がインストールされていると思うときはいつでも、2 回確認します。

インストール後、Framework 4.0 Classic Pipeline Mode (代わりにIntegrated ) で問題なく動作しました。

しかし注意!

フレームワークをインストールした後、IIS は既定のパイプラインを 4.0に変更します。つまり、2.0 で Web (サイト/サービス) を実行していた場合、自動的に動作が停止します。(それは私に起こりました)

于 2013-01-29T16:12:28.240 に答える