Pregunta

Quiero crear un servicio web simple para distribuir a los desarrolladores de ASP.NET. He encontrado una aplicación ( svnbridge ), que tiene la disposición que busco - un solo archivo web.config y una sola .dll archivo.

La parte interesante es en el archivo web.config:

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

Uuuuuuh que se ve perfecto. Puedo tirar nada me gusta esto y que sea manejado por lo que supongo que es una implementación IHttpHandler.

Así que arrancó el espíritu del archivo de configuración vinculados mencionados, incluido mi biblioteca en un archivo DLL y pulsa acumulación en VS. Inmediatamente me sale esto en IE:

  

Error de origen:

     

[No hay líneas de origen pertinentes]

Trabajo principalmente con PHP - ASP.Net es bastante nuevo para mí. Es evidente que estoy haciendo algo mal, pero no tienen ni idea de donde ni siquiera para empezar.

Por el momento, yo uso un script en Python para agrupar toda la fuente # C en un único archivo .ashx, que es un poco frío para la distribución, pero hace que la depuración de una pesadilla. Se ve un poco como esto:

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

Obviamente hay mucho más a él (área de usuario de configuración etc), pero se obtiene lo esencial.

Puede alguien me punto en la dirección correcta? Estoy cómodo con el lenguaje C #, es sólo la disposición y la configuración que me tiene un poco perplejo.

Me doy cuenta de esta pregunta puede parecer un tanto ambigua - Por favor, enviar comentarios y voy a tratar de aclarar cuando sea necesario

.

Gracias,

Neil.

¿Fue útil?

Solución 2

Este es fijo. Tuve que apagar la carpeta en una aplicación en IIS, y mover la fuente a un (fuera de la red) ubicación de confianza.

Mi agradecimiento por aquellos que tomaron el tiempo para revisar esta cuestión.

Otros consejos

¿Qué dice la EventLog? Probablemente debería haber un registro (de tipo "Advertencia" con la fuente que se parece a "ASP.NET x.x.xxxxx.x").

De todos modos, se menciona en el comienzo de su mensaje que le gustaría tener un solo archivo DLL (entre el web.config) para ser distribuidos. Más adelante se señala al archivo .ashx.

Yo prefiero crear una sola clase (archivo .cs dentro de su proyecto) y poner la aplicación de mi manejador HTTP en esa clase.

Además, compruebe que el tipo de su manejador HTTP se especifica correctamente en un web.config:

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

Si está utilizando IIS6 a continuación, es necesario añadir manualmente una asignación de script comodín para que su manejador HTTP para "capturar" las peticiones. Esto ayuda mensaje del foro fuerzas.

- Pavel

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top