Вопрос

Я хочу создать простую веб-сервис для распространения разработчиков ASP.NET. Я нашел приложение (Svnbridge) который имеет макет, я после - один web.config файл и один .dll файл.

Интересная часть в web.config файл:

<httpHandlers>
    <clear/>
    <add verb="*" path="*" type="SvnBridgeServer.SvnBridgeHttpHandler, SvnBridgeServer" />
</httpHandlers>

Ооооо, это выглядит идеально. Я могу бросить все, что мне нравится в этом, и оно обращается за то, что я предполагаю, это IHttpHandler реализация.

Поэтому я сорвал дух файла конфигурации, связанный выше, составлял мою библиотеку в DLL и нажмите строить в против Я сразу получаю это в IE:

Исходная ошибка:

Нет соответствующих линий источников

Я в основном работаю с PHP - Asp.net довольно новый для меня. Очевидно, я делаю что-то не так, но у меня нет подсказки, где даже начать.

На данный момент я использую сценарий Python для подключения всех источников C # в одном .ashx Файл, который довольно круто для распространения, но делает отладку кошмара. Это выглядит немного так:

<%@ WebHandler Language="C#" Class="MyApp.MyClass" debug="true" %>
using System.Data;
...
namespace MyApp
{
    public class MyClass : IHttpHandler
    {
        public void ProcessRequest(HttpContext Http)
        {
            ...
        }
    }
}

Это, очевидно, намного больше для этого (область конфигурации пользователя и т. Д.), Но вы получаете гист.

Может кто-нибудь указать мне в правильном направлении? Я чувствую себя комфортно с языком C #, это просто расположение и конфигурация, которая меня немного озатается.

Я понимаю, что этот вопрос может показаться несколько неоднозначным - пожалуйста, свяжитесь с комментариями, и я постараюсь уточнить, где это необходимо.

Спасибо,

Неил.

Это было полезно?

Решение 2

Это исправлено. Мне пришлось превратить папку в приложение в IIS и переместить источник в надежную (не сетевое) местоположение.

Моя благодарность для тех, кто потратил время, чтобы рассмотреть этот вопрос.

Другие советы

Что говорит EventLog? Вероятно, должен быть запись (типа «Предупреждение» с источником, который выглядит как «asp.net xxxxxxx.x»).

Во всяком случае, вы упомянули в начале вашего сообщения, который вы хотели бы иметь один DLL-файл (среди web.config), чтобы быть распределенным. Позже вы указываете на .ashx файл.

Я предпочел бы создать один класс (.cs файл внутри вашего проекта) и поместите реализацию моего HTTP-обработчика в этом классе.

Кроме того, дважды проверьте, что тип вашего HTTP-обработчика указан правильно в Web.config:

<add verb="*" path="*" type="[namespace].[type], [assembly]" />

Если вы используете IIS6, вам нужно вручную добавить сопоставление сценариев WildCard, чтобы ваш HTTP-обработчик для «поймать» запросы. Этот Форум пост может помочь.

- Павел

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top