当我调用WCF服务时,出现了以下FaultException:
2012-04-02 16:26:00.3593|Error|System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: The type initializer for 'vService.CheckService' threw an exception. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.TypeInitializationException: The type initializer for 'vService.CheckService' threw an exception. ----> System.NullReferenceException: Object reference not set to an instance of an object.
at vService.CheckService..cctor() in d:\working\code\VioletServer\vService\CheckService.cs:line 14
--- End of inner ExceptionDetail stack trace ---
at vService.CheckService..ctor()
at CreatevService.CheckService()
at System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message)
at System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request)
at System.ServiceModel.InstanceContext.GetServiceInstance(Message message)
at System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
...).
CheckService.cs的第14行是
private static string connStr = ConfigurationManager.ConnectionStrings["violetdb"].ConnectionString;
这个上下文中的异常是什么意思,我该如何解决它?
//CheckService.cs
public class CheckService : ICheckService
{
private static string connStr = ConfigurationManager.ConnectionStrings["violetdb"].ConnectionString;
MessageRepository _repo = new MessageRepository(connStr);
public CheckService(){}
public CheckService(MessageRepository repo)
{
_repo = repo;
}
public void SendMessage(string sender, string recipient, string messagetext)
{
_repo.DeliverMessage(sender,recipient,messagetext);
}
}
web.config
文件的<connectionString>
部分中有violetdb
连接字符串。由于该项目是一个类库,我只需添加一个app.config
文件并复制连接字符串即可。但我仍然遇到了异常。 - Animesh