小编Joh*_*ers的帖子

XmlSerializer和System.Drawing.Color的最佳解决方案

System.Drawing.Color对象显然不会使用XmlSerializer进行序列化.xml序列化颜色的最佳方法是什么?

.net xml-serialization

20
推荐指数
3
解决办法
1万
查看次数

如何遍历PropertyCollection

任何人都可以提供如何循环通过System.DirectoryServices.PropertyCollection并输出属性名称和值的示例?

我正在使用C#.

@JaredPar - PropertyCollection没有Name/Value属性.它有一个PropertyNames和Values,类型为System.Collection.ICollection.我不知道构成PropertyCollection对象的基线对象类型.

@JaredPar再次 - 我最初错误地标记了错误类型的问题.那是我的坏事.

更新: 基于Zhaph - Ben Duguid输入,我能够开发以下代码.

using System.Collections;
using System.DirectoryServices;

public void DisplayValue(DirectoryEntry de)
{
    if(de.Children != null)
    {
        foreach(DirectoryEntry child in de.Children)
        {
            PropertyCollection pc = child.Properties;
            IDictionaryEnumerator ide = pc.GetEnumerator();
            ide.Reset();
            while(ide.MoveNext())
            {
                PropertyValueCollection pvc = ide.Entry.Value as PropertyValueCollection;

                Console.WriteLine(string.Format("Name: {0}", ide.Entry.Key.ToString()));
                Console.WriteLine(string.Format("Value: {0}", pvc.Value));                
            }
        }      
    }  
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net iis directoryservices

20
推荐指数
3
解决办法
3万
查看次数

web.config batch ="false"

在ASP.NET 1.1的编译标记中添加batch ="false"的目的是什么?

c# vb.net asp.net .net-1.1 web-config

20
推荐指数
2
解决办法
2万
查看次数

如何对FileInfo []数组进行排序

我有以下代码

DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath);
FileInfo[] taskFiles = taskDirectory.GetFiles("*" + blah + "*.xml");
Run Code Online (Sandbox Code Playgroud)

我想按文件名对列表进行排序.

如何使用.net v2尽可能快速,轻松地完成此操作.

.net c# .net-2.0

20
推荐指数
2
解决办法
3万
查看次数

将ASMX转换为WCF Web服务需要多少工作量?

我有2个Web服务,共有大约6个Web方法,大多数代码都是以任何方式放在程序集中,而web服务asmx实际上只是调用这些程序集方法并返回它们的返回类型.

将Web服务从ASMX转换为WCF要付出多少努力?

我几乎在这个阶段控制唯一 - 连接到Web服务的非基于Web的客户端,所以这不是一个真正的问题,产品是在预发布.

c# wcf asmx

20
推荐指数
2
解决办法
2万
查看次数

+ =带事件的运算符

public void Bar()
{
    Foo foo = new Foo();
    **foo.MyEvent += foo_MyEvent;**
    foo.FireEvent();        
}

void foo_MyEvent(object sender, EventArgs e)
{
    ((Foo)sender).MyEvent -= foo_MyEvent;
}
Run Code Online (Sandbox Code Playgroud)

嘿,我对事件有点不熟悉,有人能告诉我+ =运算符对事件的影响吗?

c# events

20
推荐指数
2
解决办法
1万
查看次数

无法序列化成员....因为它是一个接口

我一直有这个问题,一直把头发拉过来.我有以下错误:

异常详细信息:System.NotSupportedException:无法序列化类型为System.Collections.Generic.IList`1 [[HannaPrintsDataAccess.CustomerAddress,HannaPrintsDataAccess,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]的成员HannaPrintsDataAccess.Customer.CustomerAddresses,因为它是一个界面.

来源错误:

第196行:客户客户= OperationsManager.Instance.CustomerService.GetCustomer(7); 第197行:第198行:字符串xml = OperationsManager.Instance.CustomerService.GetCustomerAddressesXml(CustomerAddress.FindAll()); 第199行:第200行:订单订单= OperationsManager.Instance.OrderService.CreateOrderFromCart(xml);

源文件:c:\ HostingSpaces\greetwus\galadavetiye.com\wwwroot\HannaPrints\HannaPrints\WebUI\CreateGreetingCard.aspx.cs行:198

堆栈跟踪:

[NotSupportedException:无法序列化类型System.Collections.Generic.IList`1 [[HannaPrintsDataAccess.CustomerAddress,HannaPrintsDataAccess,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]的成员HannaPrintsDataAccess.Customer.CustomerAddresses,因为它是一个接口]

[InvalidOperationException:无法序列化'System.Collections.Generic.IList`1 [[HannaPrintsDataAccess.CustomerAddress,HannaPrintsDataAccess,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]'类型的成员'HannaPrintsDataAccess.Customer.CustomerAddresses',有关更多详细信息,请参阅内部异常.] System.Xml.Serialization.StructModel.CheckSupportedMember(TypeDesc typeDesc,MemberInfo成员,类型类型)+889917 System.Xml.Serialization.StructModel.GetPropertyModel(PropertyInfo propertyInfo)+132 ...... ..

我已经将我的所有IList更改为List's以查看它是否可以执行任何操作,但事实上,在进行这些更改之后它甚至没有花费一秒钟加载,我猜测因为错误甚至在它到达该部分之前发生.我检查了我的远程文件,看它是否正确上传,确实如此.

这是代码:

using System;
using System.Collections.Generic; 
using Castle.ActiveRecord;
namespace HannaPrintsDataAccess { 
    public partial class Customer { 
        private IList _customerAddresses;


        public CustomerAddress GetPrimaryCustomerAddress()
        {
            foreach (CustomerAddress address in _customerAddresses)
            {
                if (address.IsPrimary)
                    return address;
            }
            return null;
        }


        [HasMany(typeof(CustomerAddress), …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization

20
推荐指数
1
解决办法
3万
查看次数

如何使用iTextSharp进行文本格式化

我正在使用iTextSharp从PDF中读取文本内容.我也能读到这一点.但我正在丢失文字格式,如字体,颜色等.有没有办法获得格式.

以下是我用于确切文本的代码段 -

PdfReader reader = new PdfReader("F:\\EBooks\\AspectsOfAjax.pdf");
textBox1.Text = ExtractTextFromPDFBytes(reader.GetPageContent(1));

private string ExtractTextFromPDFBytes(byte[] input)
{
    if (input == null || input.Length == 0) return "";
    try
    {
        string resultString = "";
        // Flag showing if we are we currently inside a text object
        bool inTextObject = false;
        // Flag showing if the next character is literal  e.g. '\\' to get a '\' character or '\(' to get '('
        bool nextLiteral = false;
        // () Bracket nesting level. Text appears …
Run Code Online (Sandbox Code Playgroud)

.net c# itextsharp

20
推荐指数
1
解决办法
4万
查看次数

.NET SMTP客户端 - 客户端无权作为此发件人发送

当我试图通过ASP MVC3项目使用SmtpClient类发送电子邮件时,我的服务器上出现了奇怪的现象.这是我正在使用的代码.

try
{
    var client = new SmtpClient("MailServer");
    client.UseDefaultCredentials = true;

    MailMessage message = new MailMessage("me@mydomain.com", "friend@mydomain.com", "Test Message", "Test Body");
    client.Send(message);
}
catch (Exception ex)
{
    // Do Nothing
}
Run Code Online (Sandbox Code Playgroud)

我已部署在三个环境中; 在Windows 7上(使用VS 2010 IIS)它发送电子邮件很好,在Windows 2003 IIS6机器上它发送电子邮件很好,最后在Windows 2008 R2 II7服务器上我收到以下错误:

Mailbox unavailable. The server response was: 5.7.1 Client does not have permissions to send as this sender using username 
Run Code Online (Sandbox Code Playgroud)

任何人都可以就可能造成这种情况的原因提出建议.我注意到,当我查看时User.Identity.Name,这将返回一个空字符串.

.net c# asp.net-mvc smtp

20
推荐指数
3
解决办法
6万
查看次数

SQL代码比C#代码更快吗?

几个月前,我开始在这家编程公司工作.他们使用的一种做法是在SQL而不是C#中尽可能多地完成工作.

所以,让我说我有一个写一些文件列表的简单例子:

是这样的:

string SQL = @"
    SELECT f.FileID,
           f.FileName,
           f.FileExtension,
           '/files/' + CAST(u.UserGuid AS VARCHAR(MAX)) + '/' + (f.FileName + f.FileExtension) AS FileSrc,
           FileSize=
           CASE
               WHEN f.FileSizeB < 1048576 THEN CAST(CAST((f.FileSizeB / 1024) AS DECIMAL(6, 2)) AS VARCHAR(8)) + ' KB'
               ELSE CAST(CAST((f.FileSizeB / 1048576) AS DECIMAL(6, 2)) AS VARCHAR(8)) + ' MB'
           END
      FROM Files f
INNER JOIN Users u
        ON f.UserID = u.UserID
";

// some loop for writing results {
//     write...
// }
Run Code Online (Sandbox Code Playgroud)

比这样的事情更快或更好:

string …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

20
推荐指数
5
解决办法
1万
查看次数