【发布时间】:2014-04-01 09:06:31
【问题描述】:
我在尝试运行我的 Web 服务 WizardService.asmx 时收到此错误:
System.MissingMethodException: No parameterless constructor defined for this object.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Web.Services.Protocols.ServerProtocol.CreateServerInstance()
at System.Web.Services.Protocols.WebServiceHandler.Invoke()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
这是我用 C# 编写的 Web 服务代码
[WebService(Namespace = "http://www.tempuri.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WizardService : WebService
{
private EventLog eventLog;
private WizardService()
{
eventLog = new EventLog("EktronWizardServiceLog", "localhost", "EktronWizardService");
}
我在网上看到的所有地方(包括此站点)似乎都表明此错误消息与 MVC 有关,但我没有使用 MVC。这是一个 ASMX .Net 4.5 网络服务。
【问题讨论】:
-
您必须使用公共默认构造函数进行序列化
标签: c# asp.net web-services asmx