草庐IT

socket编程

全部标签

c# - 以编程方式设置属性以从序列化中排除

是否可以通过编程方式设置您想要从序列化中排除某个属性?例子:反序列化时,我想加载一个ID字段序列化时,我不想输出ID字段 最佳答案 我相信这里有三个选项:使用XmlIgnore属性。缺点是您需要提前知道您希望xmlserializer忽略哪些属性。实现IXmlSerializable界面。这使您可以完全控制XML的输出,但您需要自己实现读/写方法。实现ICustomTypeDescriptor界面。我相信无论您选择哪种类型的序列化,这都会使您的解决方案正常工作,但它可能是所有解决方案中最长的。

c# - 程序退出后 TcpListener Socket 仍然有效

我正试图在我的程序退出时停止TCP监听器。我不关心套接字或任何事件客户端套接字上当前事件的任何数据。套接字清理代码本质上是:try{myServer.Server.Shutdown(SocketShutdown.Both)}catch(Exceptionex){LogException(ex)}myServer.Server.Close(0)myServer.Stop()myServer是一个TCPListener在某些情况下,Shutdown会抛出异常System.Net.Sockets.SocketException:发送或接收数据的请求被禁止,因为套接字未连接并且(当使用send

c# - 以编程方式创建新的 IIS 网站时,如何将其添加到现有的应用程序池中?

我已经成功地自动化了创建新IIS网站的过程,但是我编写的代码并不关心应用程序池,它只是被添加到DefaultAppPool。但是,我想将这个新创建的站点添加到现有的应用程序池中。这是我用来创建新网站的代码。varw3Svc=newDirectoryEntry(string.Format("IIS://{0}/w3svc",webserver));varnewsite=newobject[]{serverComment,newobject[]{serverBindings},homeDirectory};varwebsiteId=w3Svc.Invoke("CreateNewSite",

c# - 取消 Socket.xxxxAsync 调用

调用Socket.Shutdown、Socket.Close和Socket.Disconnect后,Socket.ReceiveAsync似乎没有中止。尝试重用ReceiveAsync调用中使用的SocketAsycEventArgs对象(在文档中作为最佳实践建议)会导致错误:AnasynchronoussocketoperationisalreadyinprogressusingthisSocketAsyncEventArgsinstance我必须做什么才能让ReceiveAsync释放它对这个SocketAsyncEventArgs实例的控制?编辑:我通过标记一个待处理的接收并且在

c# - 以编程方式创建资源文件

我想创建一个资源文件(在准备部署的过程中),用某些设置(大XML结构)和一些文本填充它,但我不确定如何去做。我确实找到了一些使用ResXResourceWriter的示例,但是在尝试打开它时找不到资源key。这是我到目前为止所拥有的:privatevoidsimpleButton1_Click(objectsender,EventArgse){using(System.IO.MemoryStreamoStream=newSystem.IO.MemoryStream()){this.layoutControl1.SaveLayoutToStream(oStream);using(ResX

c# - 在 WPF 应用程序中以编程方式从 XAML 文件加载矢量图形

我想加载存储为XAML文件(单独的文件,不在字典中)的矢量图形,嵌入到我的应用程序中,我有几个问题要这样做:XAML看起来有点模棱两可,因为它既可用于表示静态资源(如矢量图像),也可用于表示动态构建的界面(如WPF中的界面)。因此,我不清楚XAML矢量图像的格式:根元素应该是什么,例如svg矢量图像的“svg”标签?目前,我使用Canvas作为顶部元素,因为我想在另一个Canvas中绘制图形。以编程方式加载这些文件的最佳方法是什么(我的意思是,从xaml文件创建Canvas)?我已经看到(并尝试过)使用XamlReader的不同解决方案,但没有任何效果:应用程序崩溃并且调试器无济于事(

c# - 如何以编程方式创建 BasicHttpBinding?

我必须遵循以下代码:BasicHttpBindingbinding=newBasicHttpBinding();UribaseAddress=newUri("URL.svc");EndpointAddressendpointAddress=newEndpointAddress(baseAddress);varmyChannelFactory=newChannelFactory(binding,endpointAddress);IMyInterfaceclient=null;try{client=myChannelFactory.CreateChannel();vara=client.W

c# - 如何使用 PFX(Bouncy CaSTLe 或其他)以编程方式对可执行文件进行代码签名

我正在尝试确定使用BouncyCaSTLe、托管代码或来自C#的非托管代码对可执行文件进行代码签名的最佳方法。由于CAPICOM现在已被弃用,我想如果需要非托管地完成,mssign32.dll中的SignerSign方法之一是最好的方法。这个答案(https://stackoverflow.com/a/3952235/722078)看起来很接近,但它会生成一个.p7m文件,虽然看起来大小合适,但无法正确运行(显然在运行前重命名为.exe)。此处提问者(API/Librarytoreplacesigntool.exe)给出的解决方案似乎很有前途且管理得当,但就像TomCanham在下面的

c# - 以编程方式为 resx 文件生成 Designer.cs (ResXResourceWriter/ResXResourceReader)

我正在使用不生成.Designer.cs文件的ResXResourceWriter/ResXResourceReader在TFS中创建/更新resx文件。我看到Resgen创建了.Designer.cs。我如何以编程方式调用它以在某个TFS文件路径生成.Designer.cs?是这样的吗?ProcessStartInfostartInfo=newProcessStartInfo(@"C:\ProgramFiles\Microsoft.NET\SDK\v2.064bit\Bin\ResGen.exe");startInfo.WindowStyle=ProcessWindowStyle.M

c# - 在 "Public"类中包含 "Internal"成员是否是一种糟糕的编程习惯?

如果我只保留声明为“内部”的类中的“protected”、“内部”和“私有(private)”成员(字段、方法、属性、事件),会不会更具体和合适?我在各种代码中看到过这种做法(在“内部”类中有“公共(public)”成员)所以只是想知道这是一种不好的做法还是有一些好处或优势。[只关注C#]感谢您的关注。 最佳答案 不一定。如果您想隐式实现一个接口(interface),那么公共(public)成员是完全可以接受的。但一般来说,如果类是内部类,则公共(public)成员没有多大意义。您不会受到伤害,因为您将无法在定义它的模块之外以强类