Cache.SetMaxAge不能在IIS下工作,在VS Dev Srv下工作正常

我正在尝试为我的回复添加“max-age”标题。 它在我的Visual Studio开发服务器上工作正常,但只要我将应用程序移动到IIS(尝试本地IIS表达和服务器上的IIS) – 标题就会消失。 我的代码: Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetMaxAge(new TimeSpan(1, 0, 0, 0)); VS Dev服务器响应(一切正常): HTTP/1.1 200 OK Server: ASP.NET Development Server/10.0.0.0 Date: Fri, 07 Jan 2011 14:55:04 GMT X-AspNet-Version: 2.0.50727 Cache-Control: public, max-age=86400 IIS7响应 HTTP/1.1 200 OK Server: Microsoft-IIS/7.5 Date: Fri, 07 Jan 2011 15:00:54 GMT X-AspNet-Version: 2.0.50727 Cache-Control: public PS。 它是一个ASHX处理程序,如果它很重要……

查找Double的小数点后的位数

我有一个Double值: double a = 4.5565; 计算小数点后位数的最简单方法是什么(本例中为4)。 我知道我可以转换为字符串并进行拆分并获取长度。 但有更简单的方法吗?

透明.NET表单中的抗锯齿文本

我有一个C#应用程序,它以透明的.NET表单显示当前时间。 表格没有控件也没有边框。 其属性TransparencyKey设置为Form的背景颜色“浅灰色”以使其透明。 因此用户只能看到文本(当前时间)。 该文本在PaintEventHandler中绘制: private void Display_Paint( object sender, PaintEventArgs e ) { Graphics formGraphics = e.Graphics; Font myFont = new Font( “Microsoft Sans Serif”, 24, FontStyle.Bold ); formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; //formGraphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel; formGraphics.DrawString( “00:00:00”, myFont, Brushes.Green, 0.0F, 0.0F ); myFont.Dispose(); } 由于抗锯齿,当表格在黑暗背景下时,文本“00:00:00”显示为磨损。 对于浅色背景,文字没问题 此图显示了问题和好的情况: 文字显示由于深色背景的抗锯齿而产生的条纹http://sofzh.miximages.com/c%23/antiAliasing_bad.png 显然,Windows确实以适合Form自身背景颜色的方式呈现文本,而不是以适合透明表单背后的背景的方式呈现文本。 是否有可能让Windows在渲染文本时考虑到Form背后的背景,以便摆脱边缘? 一个“解决方案”可能是通过相应地设置TextRenderingHint来关闭抗锯齿。 但到目前为止,这不是我首选的“解决方案”。 系统: Windows XP,SP […]

如何在没有IDL或后期绑定调用远程处理方法的情况下访问CORBA接口

我们一直在使用SAP“COM许可证桥”来访问其许可证服务器并以编程方式查询系统的硬件密钥(以重复使用自己的许可)。 这在SAP Business One版本2007A,2007B和8.8上运行良好,但是在8.81中它们似乎更新了它们的CORBA接口而没有更新COM包装器,因为我们现在在尝试调用GetHardwareKey函数时获得内存exception。 所以我下载了IIOP.NET并开始尝试编写自己的界面。 无论如何我从来都不喜欢COM包装器。 但是我遇到了我的旧远程.NET远程控制 – 无法在服务器和客户端都没有定义公共接口的情况下调用远程方法。 我尝试使用IIOP.NET附带的IDL到CLS编译器,但我继续得到关于接口beign不兼容的错误(SAP没有提供IDL文件)。 我不知道IIOP和CORBA如何确定接口是否兼容。 但我甚至尝试调试IIOP.NET代码并强制它执行该方法尽管不兼容,但收到一个空字符串而不是我想要的硬件密钥。 我的下一步是尝试实现虚假的许可证服务器并检查来自生产客户端的请求,以期确定它们应该是什么样子,但考虑到我遇到的困难,我并不指望取得多大的成功。深入了解.NET远程的内容。 我真正的问题是如何获取或生成SAP Business One硬件密钥,但由此产生的问题包括: 如何反思或查询有关CORBA接口的信息? 我可以使用NamingContext类的list方法来检索可用对象的列表,但我不知道是否有办法查询对象上的可用方法。 我可以在没有接口的情况下动态调用.NET远程处理方法吗? 我看到有一个叫做DII的东西用于动态调用CORBA,但是我没有看到如何在IIOP.NET中使用它。 我可以仅使用委托或不完整的接口来调用.NET远程处理方法吗? 我尝试使用dynamic关键字,但它无法在我的MarshalByRef远程对象上调用一个方法……我认为它说我的MarshalByRef实例上不存在该方法。 我只是通过IIOP.NET尝试过这个(我想知道它是否适用于普通的.NET远程处理)。 如何在.NET远程处理框架中创建或检查Message实例? 我是否可以直接发送或检索远程处理消息,绕过底层代理? 编辑:我设法通过应用RepositoryID属性使IIOP.NET / CORBA相信我有一个兼容的接口: [Ch.Elca.Iiop.Idl.InterfaceType(Ch.Elca.Iiop.Idl.IdlTypeInterface.ConcreteInterface)] [Ch.Elca.Iiop.Idl.RepositoryID(“IDL:LicenseInfo:1.0”)] public interface ILicenseInfo : Ch.Elca.Iiop.Idl.IIdlEntity { void GetHardwareKey(out string hwKey); } 但我仍然得到一个空字符串结果。 编辑2:经过一些更多的实验和调试,我发现响应消息确实包含我正在寻找的数据,但是没有正确地解析成客户端值,可能是因为我的接口定义不好。 希望进一步调试响应处理将帮助我弄清楚如何纠正我的界面。 奇怪的是,它从响应中解析的第一件事是一个空的盒装值,这似乎不适合“out string”参数。 编辑3:我发现我需要将字符串属性应用于这样的参数,以防止它们被视为盒装值: void GetHardwareKey([StringValue(), WideChar(true)] out string hwKey); 但是,尽管有WideChar属性,我对CodeSet不支持WChar或其他东西的错误。 我已经非常接近搞清楚了。 […]

如何在不删除旧计数器的情况下将新计数器添加到现有性能计数器类别?

我有一个自定义计数器类别,我需要添加一个新的计数器,而不删除或重置任何现有的计数器。 我怎样才能做到这一点? 我尝试使用CounterExists(),但即使在我创建计数器之后,如何将它与CounterCreationDataCollection项关联并将其与我现有的计数器类别相关联?

FormView绑定中的DropDownList

我想在下面的代码List dropdownlist绑定到List 。 <asp:DropDownList ID="listCategories" runat="server" Height="20px" CssClass="CategoryDropList" SelectedValue='’ AutoPostBack=”false” Width=”300px”> 不使用ObjectDataSource! 如何将其绑定到下拉列表? 在什么情况下? SelectedValue=”应该有效! (我的意思是dropdownlist绑定应该在此之前发生!)

检查ASP.NET CheckboxList中的多个项目

我尝试检查ASP.NET CheckboxList中的多个值,但我不能。 我写 : chkApplications.SelectedValue = 2; chkApplications.SelectedValue = 6; 但它只选择值为’6’的项目 怎么了 ?

远程主机强制关闭现有连接

我需要从异步套接字服务器获取UDP数据报,但我的应用程序中发生exception: 出现问题: Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); 完整源代码: class Program { static void Main(string[] args) { const int PORT = 30485; IPAddress IP; IPAddress.TryParse(“92.56.23.87”, out IP); // This constructor arbitrarily assigns the local port number. UdpClient udpClient = new UdpClient(PORT); Socket receiveSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); try { udpClient.Connect(“92.56.23.87”, PORT); if (udpClient.Client.Connected) Console.WriteLine(“Connected.”); // […]

有没有人在.NET中成功模拟过Socket类?

我试图在C#中模拟出System.net.Sockets.Socket类 – 我尝试使用NUnit模拟但它不能模拟具体的类。 我也尝试过使用Rhino Mocks但它似乎使用了该类的真实版本,因为它在调用Send(byte [])时抛出了SocketException。 有没有人使用任何模拟框架成功创建和使用Socket模拟?

接口的意义C#

我想知道Interface的重要用途。 我已经阅读了很多文章,但没有清楚地了解界面的概念。 我写了一个小程序。 我已经定义了接口Itest.Class(Manager)已经实现了Interface.Another class(Employee)还没有实现接口。 但是在类( Employee )的接口中定义了相同的方法( DoSomething() )。 我可以从类对象中调用该方法。 那我为什么要去实现接口呢? 我可以在类中直接实现该方法并调用该方法。 为什么我要在接口中执行额外的步骤,然后按类inheritance接口。 我知道接口支持多重inheritance,但在这个例子中我没有使用多重inheritance。 感谢您的任何想法或意见。 public interface Itest { void DoSomething(); } public class Manager:Itest { public void DoSomething() { Console.WriteLine(“test….”); } } class Employee { public void DoSomething() { Console.WriteLine(“test….”); } } class Program { static void Main(string[] args) { Manager m = […]