我有一个Web表单,在提交时会转到Web服务并将表单数据记录在数据库中。然后它返回到Web控件,经过几次检查后,它返回到Web服务并向预先指定的电子邮件地址发送电子邮件。我已经编译了代码而没有错误,但是当我尝试执行代码时,在数据存储到数据库之后我遇到了NotImplementedException的问题,我尝试转到CreateEmail方法来启动发送的过程。电子邮件。
阅读完这些内容后:
http://msdn.microsoft.com/en-gb/library/system.notimplementedexception.aspx
What does "throw new NotImplementedException();" do exactly?
Why does NotImplementedException exist?
我意识到它说我的方法尚未实现或不存在。
Visual Studio正在拾取该方法并将其显示在其intellisense中,并且该方法确实包含代码,我在下面以非常基本的简化方式包含了这些代码。
我在同一方法中设置了更高的连接,称为“服务”,我知道它正在连接到我的服务,以便将数据存储在数据库中。
我已检查过操作合同是否已到位:
[OperationContract]
string CreateEmail(string name, string address, string town, string postcode, string email, string contact);
我有以下代码从我的网络表单转到我的服务:
if (DBresults == "0")
{
try
{
EmailResults = service.CreateEmail(name, address, town, postcode, email, contact);
}
catch (NotImplementedException ex)
{
service.Abort();
}
catch (CommunicationException ex)
{
service.Abort();
}
catch (TimeoutException ex)
{
service.Abort();
}
catch (Exception ex)
{
service.Abort();
throw ex;
}
}
然后在Web服务本身内我有以下代码(为了方便起见,我更改了名称,并删除了try的主体以便于阅读):
namespace WcfSvc{
public class WcfSvc : IWcfSvc
{
public string CreateEmail(string name, string address, string town, string postcode, string email, string contact)
{
string sent = "1";
string fromEmail = "test@test.com";
try
{
//main bit of my sent code.
string sent = "done";
return sent;
}
catch (Exception ex)
{
string exMessage = ex.Message;
ex = null;
return exMessage;
}
}
}
}
我试图在CreateEmail的服务中放置一个断点,但是它永远不会命中它,而是直接找到catch错误。
我哪里错了?
编辑:
我得到的异常消息是: ex = {“方法或操作未实施。”}
答案 0 :(得分:1)
验证web.config或app.config是否包含最新Web服务的正确Web地址。使用WCF测试客户端测试对Web服务的调用。验证运行服务的进程是否具有最新代码。