【发布时间】:2014-09-23 22:01:33
【问题描述】:
我终于开始阅读有关 SOA 的文章,并且正在尝试使用 WCF 和 Azure 云服务。我发现特别困难的一件事是调试。假设我创建了一项服务并将其作为 Azure 云服务部署到 Web 并出现错误,我该如何检查这些错误是什么?我目前有一个接受普通旧 POCO 的服务,然后将数据添加到两个 Azure 数据库。我的操作合约方法返回一个布尔值,指示 CRUD 语句是失败还是通过。我不断得到一个错误的布尔值,但无法进入代码或使用日志记录方法记录每个代码行。
public bool SubmitSupportRequest(SupportRequestPacket packet)
{
bool status;
//convert SupportRequestPacket to entities
var ameeEntity = new AccuDb_Entities.SupportTicket();
var preferedEntity = new AccuDb_Entities.Support_Requests();
//ameeEntity will be depreciated soon. Moving all support requests to Accu_Db (second entity)
ameeEntity.Client = packet.Client;
ameeEntity.Date = packet.Date;
ameeEntity.Description = packet.Description;
ameeEntity.FirstName = !string.IsNullOrEmpty(packet.FirstName) ? packet.FirstName : "None Provided";
ameeEntity.Ip = !string.IsNullOrEmpty(packet.IP) ? packet.IP : "None Provided";
ameeEntity.LastName = !string.IsNullOrEmpty(packet.LastName) ? packet.LastName : "None Provided";
ameeEntity.MachineName = packet.MachineName;
ameeEntity.ProblemFrequency = packet.ProblemFrequency;
ameeEntity.TypeOfProblem = packet.TypeOfProblem;
preferedEntity.Client = packet.Client;
preferedEntity.Date = packet.Date;
preferedEntity.Description = packet.Description;
preferedEntity.FirstName = !string.IsNullOrEmpty(packet.FirstName) ? packet.FirstName : "None Provided";
preferedEntity.Ip = !string.IsNullOrEmpty(packet.IP) ? packet.IP : "None Provided";
preferedEntity.LastName = !string.IsNullOrEmpty(packet.LastName) ? packet.LastName : "None Provided";
preferedEntity.MachineName = packet.MachineName;
preferedEntity.ProblemFrequency = packet.ProblemFrequency;
preferedEntity.TypeOfProblem = packet.TypeOfProblem;
using (var tempContext = new AccuDb_Entities.ameesupporttickets_dbEntities())
{
try
{
tempContext.SupportTickets.Add(ameeEntity);
tempContext.SaveChanges();
status = true;
}
catch
{
status = false;
return status;
}
}
using (var context = new AccuDb_Entities.Accu_DbEntities())
{
try
{
context.Support_Requests.Add(preferedEntity);
context.SaveChanges();
status = true;
}
catch
{
status = false;
}
}
return status;
}
【问题讨论】: