草庐IT

Exe_Bad_Access

全部标签

c# - XmlSerialization 和 xsi :SchemaLocation (xsd. exe)

我使用xsd.exe生成了一个用于读取/写入GPX文件的C#类。如何让生成的XML文件包含xsi:schemaLocation属性例如。我想要以下但xsi:schemaLocation总是丢失 最佳答案 将其添加到生成的C#类中:[XmlAttribute("schemaLocation",Namespace=XmlSchema.InstanceNamespace)]publicstringxsiSchemaLocation="http://www.topografix.com/GPX/1/1"+"http://www.topogr

C# ASP.NET : how to access cache when no HttpContext. 当前是否可用(为空)?

期间Application_End()在Global.aspx中,HttpContext.Current为空。我仍然希望能够访问缓存-它在内存中,所以想看看我是否可以以某种方式引用它以将位保存到磁盘。问题-当HttpContext.Current为null时,有没有办法以某种方式引用内存中的缓存?也许我可以创建一个全局静态变量来存储指向缓存的指针,我可以根据HTTP请求更新它(伪:"static"=HttpRequest.Current)并通过Application_End()中的该指针检索对缓存的引用?有没有更好的方法在没有HttpRequest的情况下访问内存中的Cache?

c# - 使用 Owinhost.exe 运行 OWIN Web 服务或控制台应用程序有什么区别

我开始开发新的Web应用程序并考虑使用OWIN。我无法从任何文档中解决的一件事是,将C#应用程序创建为控制台应用程序并从其exe文件启动它运行,或者将项目创建为类库/dll,以及使用OwinHost之间有什么区别.exe启动它。运行Owinhost.exe来启动该进程是否比将其作为控制台应用程序运行更有优势? 最佳答案 OneofthecomponentsincludedintheMicrosoftOWINcomponentsisthelightweight,console-basedOwinHost.exe.Thishostfin

c# - 针对 csc.exe 中的特定框架版本

如何通过命令行调用为csc.exec#编译器指定目标框架版本(例如,没有.csproj文件并且不通过MSBUILD引擎)?例如,使用C#3.0csc.exe编译器,如何编译为针对2.0.net框架的IL? 最佳答案 在C#3编译器的特定情况下,只要您不使用任何不在.NET2.0中的程序集或类型,就没有问题-IL是相同的(与目标相反1.1,例如)。除此之外,您还可以使用/noconfig/nostdlib,然后显式引用.NET2.0程序集(例如在c:\Windows\Microsoft.NET\Framework\v2.0.50727

c# - 如何使用 xsd.exe 在 C# 中生成列表而不是数组

我有一个XML架构.xsd文件,并使用xsd.exe工具生成包含所有C#类的文件。如果我在XML标记中有一个元素序列,那将在C#中用数组表示。失败是显而易见的。如何生成列表而不是数组?我想使用列表而不是类中的固定大小数组。Book[]books=newBook[someFixSize];Listbooks=newList();我看到了一些关于此的较旧(非常老)的问题,但没有一个提供令人满意的解决方案:/这是最新的有用提示:http://www.stefanbader.ch/xsdcsarr2l-exe-refactor-xsd-array-to-list/

c# - 从 64 位 exe 访问 32 位 DLL 的方法

我有一个项目必须在64位模式下编译和运行。不幸的是,我需要调用仅在32位模式下可用的DLL,因此我无法将所有内容都放在一个1VisualStudio项目中。我正在努力寻找将32位DLL包装在其自己的exe/服务中并从我的64位应用程序发出对该exe/服务的远程(尽管在同一台机器上)调用的最佳方法。我的操作系统是Win7Pro64位。此32位进程所需的调用是每秒几十次,但数据量很小。这是一个实时图像分析应用程序,因此尽管数量很少,但响应时间至关重要。大量发送/接收单个原语。理想情况下,我会托管一个WCF服务来容纳这个DLL,但在64位操作系统中,不能强制该服务以x86运行!Source.

c# - xsd.exe 生成类的可空值

我一直在使用xsd.exe来生成一个用于反序列化XML的类。我在不需要的源xsd中有十进制值:xsd生成的类生成以下代码:privatedecimalbalanceField;[System.Xml.Serialization.XmlAttributeAttribute()]publicdecimalBalance{get{returnthis.balanceField;}set{this.balanceField=value;}}我注意到这是不可空的。我如何改为将字段生成为可为空,如下所示:privatedecimal?balanceField;[System.Xml.Seriali

c# - 检查 EXE 上的数字签名

我的.NETexe是使用signtool签名的。使用此代码,我可以验证证书本身的有效性:varcert=X509Certificate.CreateFromSignedFile("application.exe");varcert2=newX509Certificate2(cert.Handle);boolvalid=cert2.Verify();但是,这只会检查证书本身,而不检查EXE的签名。因此,如果EXE被篡改,则该方法无法检测到。如何检查签名? 最佳答案 您需要从wintrust.dll调用(P/Invoke)WinVeri

c# - 系统.ComponentModel.Win32Exception : Access is denied Error

我正在使用C#代码启动和停止窗口服务,但出现此错误。System.ComponentModel.Win32Exception:Accessisdenied我的代码:publicvoidStartService(stringserviceName,inttimeoutMilliseconds){ServiceControllerservice=newServiceController(serviceName);try{TimeSpantimeout=TimeSpan.FromMilliseconds(timeoutMilliseconds);service.Start();service

c# - ASP.NET 5 : Access-Control-Allow-Origin in response

据我了解,相应地启用CORS后,响应模型应包含以下header信息(前提是我要允许所有内容):Access-Control-Allow-Origin:*Access-Control-Allow-Method:*Access-Control-Allow-Header:*在Startup中启用它:publicvoidConfigureServices(IServiceCollectionservices){//...services.AddCors();services.ConfigureCors(options=>{options.AddPolicy("AllowAll",p=>p.Al