草庐IT

前端编程

全部标签

c# - 使用 C# 以编程方式创建 Kindle 电子书?

我有一个项目的想法,但它需要能够在服务器上即时创建Kindle电子书,最好是在.net中。不过,我还没有找到任何库来执行此操作。我看到有epub库,但这些仍然需要转换为azw。这是否可能,如果可以,请问有人有任何指示吗? 最佳答案 我正在做类似的事情。一种解决方法是:为您的书创建一个特殊格式的HTML文件(请参阅下面有关kindle格式指南的信息);和使用命令行AmazonKindleGentool生成电子书。就创建目录、在新页面开始章节以及其他可以在Kindle电子书中完成的事情而言,您可能需要阅读kindle格式化指南,例如Am

c# - 以编程方式确定 Mono 运行时版本

以编程方式确定Mono运行时版本的推荐方法是什么?当我们的.Net应用程序与旧版本的Mono一起使用时,我们遇到了各种问题。有时我们可以解决这些问题,如果我们知道我们正在处理哪个版本,但有时我们不能。我们的解决方案是以编程方式检测Mono版本,然后我们可以透明地应用解决方法。如果Mono版本太旧,我们会提示用户升级。我们可以通过如下方式发现Mono是我们的运行时:boolisMonoRuntime=Type.GetType("Mono.Runtime")!=null;我们如何在不间接推断的情况下可靠地确定单声道版本?需要明确的是,我们需要Mono版本号,而不是.NetCLR版本号。

c# - 区分用户更改 Checkbox.Checked 值,还是以编程方式更改

我看到复选框有一个CheckedChanged事件。是否可以判断它是通过编程方式更改的,还是由用户实际选中复选框更改的?我有一个很大的网格,用户可以在其中输入过滤器,或者使用复选框作为一种提供通用过滤参数的“快速过滤器”。然后说他们去通过文本框修改过滤器,我正在检查我是否应该以编程方式(取消)检查CheckBox控件,以便它反射(reflect)文本框中的过滤器。privatevoidgenericCheckbox_CheckedChanged(objectsender,EventArgse){UpdateFilter();}privatevoidUpdateFilter(){if(g

c# - 以编程方式下载pdf

如何使用vb.NET或C#下载PDF并存储到磁盘?(PDF的)URL在到达最终PDF之前进行了一些重定向。我尝试了以下方法,但当我尝试在本地打开时PDF似乎已损坏,DimPdfFileAsFileStream=File.OpenWrite(saveTo)DimPdfStreamAsMemoryStream=GetFileStream(pdfURL)PdfStream.WriteTo(PdfFile)PdfStream.Flush()PdfStream.Close()PdfFile.Flush()PdfFile.Close() 最佳答案

前端面试:你的项目中如何进行用户身份验证?

面试情景面试官:项目中有做登录验证的功能吗?是怎么实现用户身份验证的呢?回答:使用了jsonwebtoken这种机制,也就是jwt,如果用户是第一次登录,服务端会将用户信息用密钥签名,然后将签名附在用户信息(即payload)后面,最后生成jwttoken发回给客户端。回答:客户端下次发送请求时会携带这个jwttoken,服务端对jwttoken中的签名部分解密,得到用户登录信息,再和jwttoken中的用户信息比对,从而验证用户身份。面试官:你的项目中jwt选择保存在什么地方?有没有考虑安全性?回答:前端拿到之后存储在localStorage中,每次调用接口的时候放在HTTP请求头的Auth

c# - 以编程方式向文件夹添加权限

我遇到一个问题,我需要为所有经过身份验证的用户添加对文件夹的访问权限,以存储与应用程序相关的设置。我发现这可以用下面的代码来完成...varInfo=newDirectoryInfo(settingsdir);varSecurity=Info.GetAccessControl(AccessControlSections.Access);Security.AddAccessRule(newFileSystemAccessRule("AuthenticatedUsers",FileSystemRights.Modify,InheritanceFlags.ContainerInherit|I

c# - Socket编程多客户端一台服务器

我刚刚开始使用C#进行套接字编程,现在有点被这个问题困住了。如何在不为每个客户端创建线程的情况下在单个服务器上处理多个客户端?当有10个客户端时,每个客户端的一个线程工作正常,但如果客户端数量增加到1000个客户端,是否为每个客户端创建一个线程是否可取?如果还有其他方法可以做到这一点,有人可以告诉我吗? 最佳答案 尝试使用异步服务器。以下示例程序创建了一个服务器,用于接收来自客户端的连接请求。服务器是用异步套接字构建的,因此服务器应用程序的执行在等待来自客户端的连接时不会被挂起。应用程序从客户端接收一个字符串,在控制台上显示该字符串

c# - 如何以编程方式从动态 JObject 获取属性

我正在使用NewtonSoftJObject解析JSON字符串。如何以编程方式从动态对象获取值?我想简化代码,不要为每个对象重复自己。publicExampleObjectGetExampleObject(stringjsonString){ExampleObjectreturnObject=newExampleObject();dynamicdynamicResult=JObject.Parse(jsonString);if(!ReferenceEquals(dynamicResult.album,null)){//codeblocktoextracttoanothermethodi

c# - 以编程方式将程序注册到添加/删除程序中并将文件存储在可执行文件中

我正在开发一个WindowsC#控制台应用程序,我希望允许用户将其安装到他们的计算机上。我想让我自己的WindowsInstaller可执行,因为VisualStudio中内置了安装部署工具,似乎缺少自定义和文档功能。因此,因为我想制作自己的Windows安装程序,我该如何将我的程序注册到“添加/删除程序”窗口中,以便他们可以选择再次卸载它,如果他们愿意,它会重新启动我的安装程序以进行删除。此外,可执行文件显然需要将文件复制到PC上的不同位置,即C:\ProgramFiles那么我如何将可执行文件存储在Windows安装程序可执行文件中我可以将它们移动到正确的位置。这可能吗?感谢您提供

c# - 以编程方式更改行/列跨度(tablelayoutpanel)

我有一个表格布局面板。2x2-2列2行。例如,我在第1行第2列中添加了一个按钮button1。button1的停靠属性设置为Fill。VS设计器允许设置button1的列/行跨度属性。我想要一个可用性来更改button1的行跨度属性以编程方式,因此它可以填充所有第二列(第一行和第二行)和可用性将其设置回来.如何? 最佳答案 这段代码呢?privatevoidbutton1_Click(objectsender,EventArgse){varcontrol=senderasControl;if(control==null)return