Tag: .net

从WebBrowser控件保存图像

运行以下代码,但生成的位图向下移动大约半英寸并在底部截止。 我检查了图像的宽度和高度,它创建了一个正确尺寸的图像,只是图像内容向下移动和截止。 我很难过……任何想法? using mshtml; using System.Drawing; using System.Runtime.InteropServices; [ComImport, InterfaceType((short)1), Guid(“3050F669-98B5-11CF-BB82-00AA00BDCE0B”)] private interface IHTMLElementRenderFixed { void DrawToDC(IntPtr hdc); void SetDocumentPrinter(string bstrPrinterName, IntPtr hdc); } public Bitmap GetImage(string id) { HtmlElement e = webBrowser1.Document.GetElementById(id); IHTMLImgElement img = (IHTMLImgElement)e.DomElement; IHTMLElementRenderFixed render = (IHTMLElementRenderFixed)img; Bitmap bmp = new Bitmap(img.width, img.height); Graphics g = Graphics.FromImage(bmp); IntPtr hdc = […]

.NET中的内存管理

有没有人在c#中有关于内存管理的指南,书籍或文章? 我想改进我的内存管理信息?

HttpContext.Current.User未填充启用Windows身份validation

我有一个使用Windows身份validation的asp.net Intranet应用程序。 我几年前用VS 2005创建了应用程序,并且Windows身份validation位工作得很好。 我的web.config有以下内容(内部配置 – > system.web元素): 我在Firefox中对此进行了测试以确认是否需要凭据,实际上我在首次访问网站时提示我输入网络凭据,如果它们无效,我会被拒绝。 但是,当我尝试访问HttpContext.Current.User.Identity时,该对象具有Name和AuthenticationType的空字符串,以及Authenticated = false。 我想我可能需要在查看互联网后启用WindowsTokenRoleProvider,这并没有改变任何东西。 自从我上次看到它工作以来我做过的两件事是通过转换向导将项目升级到VS 2008,而且我也把它放了几个月,而我的同事可能在这里或那里工作过。 我很确定影响我的User.Identity的唯一因素是上面提到的web.config中的值,但显然我做错了。 其他人遇到类似问题或看到我做错了什么? 谢谢。

财产隐藏和反思(C#)

在派生类中声明与基类中的属性名称匹配的属性“隐藏”它(除非它使用override关键字覆盖它)。 如果类型不匹配,则Type.GetProperties()将返回基类和派生类属性。 但是,如果它们的类型匹配,则只会返回派生类的属性。 例如: class A { protected double p; public int P { get { return (int)p; } set { p = value; } } } class B : A { public new int P { get { return (int)p; } set { p = value; } } } class C : B { […]

C#跨线程通信

在C#.NET中,我编写了以下简单的后台工作线程: public class MyBackgrounder { public delegate void dlgAlert(); public dlgAlert Alert; public event EventHandler eventAlert; Thread trd; public void Start() { if (trd == null || trd.ThreadState == ThreadState.Aborted) { trd = new Thread(new ThreadStart(Do)); } trd.IsBackground = true; trd.Priority = ThreadPriority.BelowNormal; trd.Start(); } void Do() { Thread.Sleep(3000); Done(); } void Done() { if […]

动态更改Winforms ComboBox中的项目文本

我有一个Winforms ComboBox ,其中包含自定义类的实例。 当项目首次添加到ComboBox的Items集合时,将对每个项目调用ToString方法。 但是,当用户更改运行应用程序的语言时, ToString方法的结果会更改。 因此,如何让ComboBox再次调用所有项目上的ToString方法,而无需从ComboBox删除所有项目并将其重新添加?

发布到IIS 7.5时,ASP.NET Core 404错误

我正在使用Visual Studio 2015将我的ASP.NET核心应用程序发布到IIS 7.5。 我要做的就是在我的wwwroot中查看正常的default.htm页面。 当我使用VS的IIS Express时,一切正常,但是当我发布到IIS 7.5并指向Visual Studio在发布时创建的wwwroot文件夹的物理路径时,我只得到一个空白屏幕(404)。 有什么奇怪的是当我从startup.cs的Configure方法中运行默认的app.run方法时,它完美地工作: app.Run(async (context) => { await context.Response.WriteAsync(“Hello World!”); }); 但是,当我评论出来时,使用app.UseDefaultFiles()和app.UseStaticFiles(),我什么都没得到。 这是我的Startup.cs文件: public class Startup { // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 public void […]

如何使用Json.NET StringEscapeHandling.EscapeNonAscii

可能重复: 将StringEscapeHandling.EscapeNonAscii与Json.NET一起使用 最新版本的Json.NET(4.5.11)包含StringEscapeHandling.EscapeNonAscii ,它可以转义所有非ASCII字符。 但是,我无法弄清楚如何使用它。 这些文档似乎没有我能找到的任何示例(仅发布一个发布说明)。 有人可以使用EscapeNonAscii显示将对象序列化为JSON字符串的EscapeNonAscii吗?

用于字母和空格的.NET RegEx

我试图在C#中创建一个只允许使用字母数字字符和空格的正则表达式。 目前,我正在尝试以下方面: string pattern = @”^\w+$”; Regex regex = new Regex(pattern); if (regex.IsMatch(value) == false) { // Display error } 我究竟做错了什么?

在WCF上抛出exception的正确方法

我试图以最通用的方式在WCF上发送exception。 这是我得到的: [ServiceContract] interface IContract { [OperationContract] void Foo(); } class ContractImplementation: IContract { public void Foo() { try { Bar(); } catch (Exception ex) { throw new FaultException(ex, ex.Message); } } } 实际上来自Bar的例外是: [Serializable] class MyException : Exception { // serialization constructors } 我在服务器端WCF日志记录中看到的错误是: 键入“MyException”,数据协定名称为“MyException: http : //schemas.datacontract.org/2004/07/MyException ”。 考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 – 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。 到目前为止我尝试了什么: [ServiceKnownType(typeof(MyException))] […]