System.NullReferenceException: Referencia a objeto

Este es un web service para hacer un log, tengo varáis librerías de clases y el error que tengo es que a la hora de correrlo me aparece que _accountService es null osea este error...
System. NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
¿No se como hacer la referencia o si se puede?
Este es el código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.ComponentModel.Composition;
using Blocktogo.Common;
using Blocktogo.Interfaces;
using Blocktogo.Web.Accounts.Interfaces;
using Blocktogo.BusinessLogic.Interfaces;
using Blocktogo.DataAccess.Interfaces;
namespace Blocktogo.Web
{
/// <summary>
/// Descripción breve de WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// Para permitir que se llame a este servicio Web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente.
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
private ILogin _view;
[Import]
private IAccountService _accountService;
[Import]
private IRedirector _redirector;
[Import]
private IWebContext _webContext;
public void Init(ILogin view)
{
_view = view;
MEFManager.Compose(this);
if (!string.IsNullOrEmpty(_webContext.FriendshipRequest))
_view.DisplayMessage("Login to add this friend!");
}
[WebMethod]
public void Login(string username, string password)
{
string message = _accountService.Login(username, password);
_view.DisplayMessage(message);
}
public void GoToRegister()
{
_redirector.GoToAccountRegisterPage();
}
public void GoToRecoverPassword()
{
_redirector.GoToAccountRecoverPasswordPage();
}
}
}
{"lat":20.632784250388,"lng":-103.359375}

1 respuesta

Respuesta
1
Amigo creo que te falta inicializar _accountService ...
¿Algo así no?
_accountService = ObjectFactory.GetInstance<IAccountService>();
Por que solo lo creas pero como te dice el error es null por que no apunta a ningún lado ...
Ojala esto solucione tu problema no olvides cerrar tu pregunta ok :D
Saludos :D
Es que se me hacer raro porque, si lo corro sin que sea un servicio web no tengo ningún problema, pero a la hora de que lo quiero hacer en servicio web ahí si me aparece ese error :S
¿Ham si se escucha raro jejejeje y eso que te comente no funciono?
No porque no tengo un structuremap lo hice como MEF que es una nueva biblioteca en. NET Framework 4 que soluciona este problema mediante la simplificación del diseño de aplicaciones extensible y componentes. ¿Pero si se debe de poder no?
a ok ok ...
Aunque se me hace raro que no lleve eso que te digo por que solo estas creando el objeto pero no le estas diciendo donde apuntar ...
¿Oye y punto net no te marca como error en alguna librería en los using?
no me marca ningún error... ¿e intente como tu me dijiste pero no me detecta el ObjectFactory como le haré para que este referenciado?
Aver agregale estas librerías
using System.Data;
using StructureMap;
No aun el objectfactory no me aparece... Me parece muy raro todo, porque siento que si se puede solo que debe de existir algo para que no me tome _accountService como null
Ya se cual es el problema... el problema es que el servicio web no puede instanciar a una interface. ¿Sabrás cómo se puede hacer? ¿Para qué la pueda instanciar?
Hijole amigo si ya leei eso creo que ahí si ya no le se amigo pero mira busca en MSDN
http://social.msdn.microsoft.com/Forums/es-ES/netfxwebes/thread/634ec3dc-a916-444b-9cfd-46d0778e03e3/
Aver si encuentras algo :(
Suerte
Que tal de nuevo... oye quería ver si me ayudabas en otra cosa
Quería ver si me ayudabas en un código que creo esta sencillo pero estoy atorado
Tengo un área de registro que tiene varios campos de texto. Ahora quiero que al estar en un campo para escribir tus datos aparezca una imagen en una parte determinada en la pantalla y si paso a otro campo de texto aparezca otra imagen y así
Seria de mucha ayuda...
Saludos
Seria en el evento onchangetext de cada textbox
protected void OnChangeText(object sender, EventArgs e)
{
Muestra imagen de este txt
Ocultas imagen del otro
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas