Создайте компактный не SOAP-веб-сервис в ASP.Net - PullRequest
0 голосов
/ 05 января 2011

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

Интересная часть находится в web.config file:

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

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

Так что я разорвал дух вышеупомянутого файла конфигурации, связал свою библиотеку в DLL инажмите построить в VS.Я немедленно получаю это в 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 ]

1 голос
/ 07 января 2011

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

Благодарю тех, кто нашел время для рассмотрения этого вопроса.

1 голос
/ 05 января 2011

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

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

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

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

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

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

- Павел

...