2016-08-29 9 views
0

Studio 2012を使用して汎用ハンドラを作成しました。ローカルマシンで呼び出すことができます。 IIS 8.5サーバーに移動すると「内部サーバーエラーが発生しました」というメッセージが表示されます。イベントビューアーにエラーコードが1310として表示されます。DotNetNukeに汎用HTTPハンドラをデプロイする方法

展開するにはプロジェクトフォルダに移動しますTestHandler.ashxとTestHandler.ashx.csをコピーしてルートフォルダに配置します。このフォルダには、DotNetNuke 8.0 CMSシステムを実行するすべてのファイルが含まれています。 DotNetNukeが干渉しているかどうか、またはコピーする追加フ​​ァイルがあるかどうかはわかりませんが、ashxをweb.configに登録する必要はありません。

私はまだTestHandlerにカスタムコードを追加していません。

public void ProcessRequest(HttpContext context) 
{ 
    context.Response.ContentType = "text/plain"; 
    context.Response.Write("Hello World"); 
} 

答えて

1

あなたはおそらくプロジェクトでそれを作成したハンドラ(.ashxとashx.cs)のための2つのファイルを持っているので。それをコンパイルし、.dllファイルをDotNetNukeインストールの/binディレクトリにコピーしましたか?イベントビューアーで正確なエラーメッセージは何ですか?

しかし、このスニペットは2つのファイルを必要とせず、.ashxファイルとして保存するだけで動作します。

<%@ WebHandler Language="C#" Class="Handler1" %> 

using System; 
using System.Web; 

public class Handler1 : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 
     context.Response.ContentType = "text/plain"; 
     context.Response.Write("Hello World"); 
    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

} 
+0

。これはしかし、別の質問につながるん..私はジェネリックハンドラは、ASP.Netハンドラに対し、リアルタイムでコンパイルされますいくつかの場所で読んだ私は、/ binにdllファイルをコピーし、それが動作するようになりましたdllをコピーしてweb.configで参照する必要があります。なぜ私のashxがサーバー上でコンパイルされていないのでしょうか?ありがとう!マーティン –

+0

自分自身は確かに、ashxは(私のスニペットのような)単一のページでなければならないかもしれません。それは実行時にコンパイルされます...それは動作します。同様の質問については、http://stackoverflow.com/questions/25510189/how-to-dynamically-compile-a-ashx-fileを参照してください。 – VDWWD

関連する問題