2011-09-12 29 views
5

Cuando estoy tratando de construir mi solución estoy obteniendo No puedo crear tipo Upload.ashx.Estoy sacando mi cabello para resolver esto.Puede que alguien me sugiera cómo solucionar este problema.Y No sé cómo agregar el espacio de nombres a la clase?no se pudo crear el tipo XYZ.ashx

Como estoy teniendo Aquí está mi código:

<%@ WebHandler Language="vb" CodeBehind="Upload.ashx.vb" Class="Upload" %> 

y este es mi estructura dir:

wwwroot/Test/Myproject 
+0

¿Puede publicar el error completo que está recibiendo? – Curt

+0

Este es el único error que estoy obteniendo "No se pudo crear el tipo Upload.ashx". Y creo que debería agregar el espacio de nombres. Puede ayudarme a cómo agregar un espacio de nombres. –

Respuesta

2

No creo que hay una cosa tal como un .ashx. vb tipo de archivo.

trate de cambiar su línea superior a:

<%@ WebHandler Language="VB" Class="Upload" %> 

y luego sólo hay que poner el código detrás de código en el archivo .ashx

<%@ WebHandler Language="VB" Class="Upload" %> 

Imports System 
Imports System.Web 

Public Class Upload : Implements IHttpHandler 

    'Code here.... 

End Class 

Alternativamente, ¿ha intentado la construcción de su código?

Ver esta pregunta similar para obtener más ayuda:

Custom Http Handlers IIS7 and ASP.NET

+0

Tengo un Upload.ashx y Upload.ashx.vb.Actualmente estoy llamando al código detrás de esto, así que he mencionado como Upload.ashx.vb –

+0

¿Qué sucede si lo cambia para que el script esté en el archivo .ashx como mi ejemplo? ¿Todavía recibes un error? – Curt

+0

Actualizado mi respuesta – Curt

0

he estado golpeando mi cabeza contra la pared por unas horas sobre este error "no se pudo crear el tipo", y puede no ayudar su problema exacto

He dividido mi código detrás de muchas clases parciales, todas llamadas "servidor de servicio" aparte de una que se llamaba "restServer" (observe la S mayúscula) era la pequeña diferencia que causaba el error, cambié todos ellos al mismo caso y funcionó perfectamente.

VS no es muy útil cuando se trabaja con archivos ASHX.

+0

De hecho, me di cuenta de que al igual que el proyecto anterior se realizó con el sitio web y estoy trabajando con formularios web y me di cuenta de que después de muchas sugerencias y trucos, ¡finalmente funcionó! –

0

Sé que esta es una vieja pregunta, pero está en la parte superior de Google en este momento, por lo que para cualquiera que busque: en un proyecto de sitio web, la directiva manejador espera diferentes parámetros para sitios web y aplicaciones web. En este caso (sitio web) buscaba CodeFile en lugar de código subyacente (aplicación web):

<%@ WebHandler Language="vb" CodeFile="Upload.ashx.vb" Class="Upload" %> 
+0

No, CodeFile no es compatible con la directiva WebHandler. – TonyG

0

Añadir a continuación la etiqueta

<%@ Assembly Name="YourNameSpace.YourHandlerClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=90e3045b123af1c3" %> 

por encima de su etiqueta WebHandler

<%@ WebHandler Language="vb" CodeBehind="Upload.ashx.vb" Class="Upload" %> 
0

Necromancing un hilo pero solo tuve el mismo problema. La sugerencia de Assembly Name por @sagar-s no funcionó para mí. Así que he intentado esto y me dieron una buena acumulación (no estoy seguro todavía acerca de la funcionalidad real):

<%@ Assembly Src="~/MyService.ashx.cs" %> 
<%@ WebHandler Language="C#" CodeBehind="MyService.ashx.cs" Class="Namespace.MyService" %> 

La Src y atributos de nombre son mutuamente excluyentes. El atributo CodeBehind y el atributo Src son redundantes. No he intentado ver si Src será adecuado si se elimina CodeBehind. No hay tiempo para experimentar aquí a casi las 3 a.m. o leer documentos que puedan aclarar tales cosas. HTH

Cuestiones relacionadas