2016-08-29 3 views
0

Я создал универсальный обработчик с использованием Studio 2012. Я могу назвать его на своей локальной машине. Когда я переношу его на свой сервер IIS 8.5, я получаю сообщение о том, что «произошла ошибка внутреннего сервера». Средство просмотра событий отображает код ошибки как 1310.Как развернуть общий HTTP-обработчик на DotNetNuke

Для развертывания я перехожу в папку проекта и копируя TestHandler.ashx и TestHandler.ashx.cs и помещая их в корневую папку. Эта папка содержит все файлы, которые запускают систему DOMNetNuke 8.0 CMS. Мне непонятно, вмешивается ли DotNetNuke или копируются дополнительные файлы, но я читал, что нет необходимости регистрировать ashx с помощью web.config.

Я еще не добавил пользовательский код к TestHandler.

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

ответ

1

Поскольку у вас есть 2 файла для Handler (.ashx и ashx.cs), вы, вероятно, создал его в проекте. Вы скомпилировали его и скопировали файл .dll в каталог /bin установки DotNetNuke? Если нет точного сообщения об ошибке в средстве просмотра событий?

Но этот фрагмент не требует 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

Я скопировал DLL в/бен и теперь работает .. Это приводит к другому вопросу, хотя .. я прочитал в нескольких местах, что Generic Обработчик будет компилировать в режиме реального времени, в то время как ASP.Net Handler требует, чтобы dll копировалось и ссылалось в web.config. Любая идея, почему мой ashx не компилируется на сервере? Благодаря! Мартин. –

+0

Не уверен сам, может быть, ashx должен быть одной страницей (например, мой фрагмент). Это компилируется во время выполнения, потому что ... он работает. См. Http://stackoverflow.com/questions/25510189/how-to-dynamically-compile-a-ashx-file для аналогичного вопроса – VDWWD

Смежные вопросы