OWIN显示死亡黄屏

时间:2019-04-23 07:24:35

标签: c# webforms iis-7 owin-middleware

我们有一个旧的Web表单项目,我们想向其中添加OWIN。 Startup类已添加到项目中。我们同时拥有assebmly属性和config owin:appStartup应用密钥。 我们在项目中引用了Microsoft.Owin.Host.SystemWeb版本4.0.0.0。 每当OWIN要发现其StartUp类时,我们都会看到显示“ FormatException”的黄屏死机(DateTime字符串格式不正确)。 这是异常的堆栈跟踪:

[FormatException: The string was not recognized as a valid DateTime. There is an unknown word starting at index 20.]
   System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) +14272006
   System.Windows.Forms.TypeLibraryTimeStampAttribute..ctor(String timestamp) +53
   System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs) +0
   System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs) +48
   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +787
   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType) +144
   Owin.Loader.DefaultLoader.SearchForStartupAttribute(String friendlyName, IList`1 errors, Boolean& conflict) +190
   Owin.Loader.DefaultLoader.GetDefaultConfiguration(String friendlyName, IList`1 errors) +68
   Owin.Loader.DefaultLoader.LoadImplementation(String startupName, IList`1 errorDetails) +89
   Owin.Loader.DefaultLoader.Load(String startupName, IList`1 errorDetails) +30
   Microsoft.Owin.Host.SystemWeb.OwinBuilder.GetAppStartup() +165
   Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +37
   System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +135
   Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +160
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +580
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +165
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +267
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +341

[HttpException (0x80004005): The string was not recognized as a valid DateTime. There is an unknown word starting at index 20.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +523
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +688

我们还有其他可以正常运行的Web表单项目,我不明白我们的项目出了什么问题。

1 个答案:

答案 0 :(得分:3)

根据您的堆栈跟踪,项目中的某个地方必须有TypeLibraryTimeStampAttribute,其中的无效输入无法用DateTime进行解析。

您的问题很可能可以通过删除TypeLibraryTimeStampAttribute或将其输入更改为有效的输入来解决。