标签: .net-2.0

XmlSerializer - 反映类型时出错

使用C#.NET 2.0,我有一个复合数据类,它具有该[Serializable]属性.我正在创建一个XMLSerializer类并将其传递给构造函数:

XmlSerializer serializer = new XmlSerializer(typeof(DataClass));
Run Code Online (Sandbox Code Playgroud)

我得到一个例外说:

有一个反映类型的错误.

在数据类内部还有另一个复合对象.这是否还需要具有该[Serializable]属性,或者将其置于顶层对象上,是否以递归方式将其应用于内部的所有对象?

.net c# xml serialization .net-2.0

326
推荐指数
8
解决办法
23万
查看次数

是否有一个不区分大小写的string.Replace的替代方法?

我需要搜索一个字符串,%FirstName%%PolicyAmount%用数据库中提取的值替换所有出现的字符串.问题是FirstName的大小写有所不同.这使我无法使用该String.Replace()方法.我已经看过关于这个主题的网页了

Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

但是出于某些原因,当我尝试更换%PolicyAmount%$0,更换永远不会发生.我认为它与美元符号是正则表达式中的保留字符有关.

是否有其他方法可以使用,不涉及清理输入以处理正则表达式特殊字符?

.net c# string replace .net-2.0

301
推荐指数
9
解决办法
12万
查看次数

如何使用.NET检测Windows 64位平台?

.NET 2.0 C#应用程序中,我使用以下代码来检测操作系统平台:

string os_platform = System.Environment.OSVersion.Platform.ToString();
Run Code Online (Sandbox Code Playgroud)

这将返回"Win32NT".问题是,即使在Windows Vista 64位上运行,它也会返回"Win32NT".

有没有其他方法可以知道正确的平台(32或64位)?

请注意,在Windows 64位上作为32位应用程序运行时,它还应检测64位.

c# windows 64-bit .net-2.0 platform-detection

258
推荐指数
14
解决办法
19万
查看次数

无效的回发或回调参数.使用'<pages enableEventValidation ="true"/>'启用事件验证

当我从客户端发回页面时,我收到以下错误.我有JavaScript代码修改客户端的asp:ListBox.

我们如何解决这个问题?

错误详情如下:

Server Error in '/XXX' Application.

--------------------------------------------------------------------------------
Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Description: An unhandled exception occurred …
Run Code Online (Sandbox Code Playgroud)

.net asp.net postback argumentexception .net-2.0

233
推荐指数
14
解决办法
59万
查看次数

在foreach循环中编辑字典值

我正在尝试从字典中构建饼图.在我显示饼图之前,我想整理数据.我正在删除任何小于饼的5%的饼图,并将它们放入"其他"饼图中.但是我Collection was modified; enumeration operation may not execute在运行时遇到异常.

我理解为什么你不能在迭代它们时添加或删除字典中的项目.但是我不明白为什么你不能简单地改变foreach循环中现有键的值.

任何建议:修复我的代码,将不胜感激.

Dictionary<string, int> colStates = new Dictionary<string,int>();
// ...
// Some code to populate colStates dictionary
// ...

int OtherCount = 0;

foreach(string key in colStates.Keys)
{

    double  Percent = colStates[key] / TotalCount;

    if (Percent < 0.05)
    {
        OtherCount += colStates[key];
        colStates[key] = 0;
    }
}

colStates.Add("Other", OtherCount);
Run Code Online (Sandbox Code Playgroud)

.net c# .net-2.0

180
推荐指数
5
解决办法
12万
查看次数

如何在C#中获取和设置环境变量?

如何获取Environnment变量,如果缺少某些内容,请设置值?

.net c# environment-variables .net-2.0

179
推荐指数
5
解决办法
16万
查看次数

如何在C#中创建一个简单的代理?

几个星期前我已经下载了Privoxy,为了好玩,我很想知道它的简单版本是如何完成的.

我知道我需要配置浏览器(客户端)以向代理发送请求.代理将请求发送到Web(假设它是一个http代理).代理将收到答案......但代理如何将请求发送回浏览器(客户端)?

我在网上搜索了C#和http代理,但是没有找到让我理解它在幕后正确工作的东西.(我相信我不想要反向代理,但我不确定).

你们有没有一些解释或一些信息让我继续这个小项目?

更新

这就是我的理解(见下图).

步骤1我将所有请求的客户端(浏览器)配置为在Proxy侦听的端口发送到127.0.0.1.这样,请求将不会直接发送到Internet,而是由代理处理.

步骤2代理查看新连接,读取HTTP标头并查看必须执行的请求.他执行请求.

步骤3代理从请求中接收答案.现在他必须从网上发送答案给客户但是怎么样???

替代文字

有用的链接

Mentalis代理:我发现这个项目是一个代理(但我想要的更多).我可能会查看来源,但我真的想要一些基本的东西来理解更多的概念.

ASP代理:我也许可以在这里获得一些信息.

请求反射器:这是一个简单的例子.

这是一个带有简单Http代理Git Hub存储库.

.net c# proxy .net-2.0

139
推荐指数
8
解决办法
15万
查看次数

使用C#压缩/解压缩字符串

我是.net的新手.我在C#中做压缩和解压缩字符串.有一个XML,我正在转换为字符串,之后我正在进行压缩和解压缩.我的代码中没有编译错误,除非我解压缩我的代码并返回我的字符串,它只返回XML的一半.

以下是我的代码,请在我错的地方纠正我.

码:

class Program
{
    public static string Zip(string value)
    {
        //Transform string into byte[]  
        byte[] byteArray = new byte[value.Length];
        int indexBA = 0;
        foreach (char item in value.ToCharArray())
        {
            byteArray[indexBA++] = (byte)item;
        }

        //Prepare for compress
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        System.IO.Compression.GZipStream sw = new System.IO.Compression.GZipStream(ms, System.IO.Compression.CompressionMode.Compress);

        //Compress
        sw.Write(byteArray, 0, byteArray.Length);
        //Close, DO NOT FLUSH cause bytes will go missing...
        sw.Close();

        //Transform byte[] zip data to string
        byteArray = ms.ToArray();
        System.Text.StringBuilder sB = new System.Text.StringBuilder(byteArray.Length);
        foreach (byte item …
Run Code Online (Sandbox Code Playgroud)

c# compression string .net-2.0

133
推荐指数
7
解决办法
18万
查看次数

datetime.parse并使其使用特定格式

我有一个日期时间从XML文件返回格式:

20080916 11:02

如在

yyyymm ......:ss

我怎样才能获得datetime.parse函数来接收它?即解析它没有错误?干杯

c# asp.net .net-2.0

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

我可以控制.NET用户设置的位置,以避免丢失应用程序升级的设置吗?

我正在尝试自定义user.config文件的位置.目前,它存储了哈希和版本号

%AppData%\[CompanyName]\[ExeName]_Url_[some_hash]\[Version]\
Run Code Online (Sandbox Code Playgroud)

我希望它与应用程序的版本无关

%AppData%\[CompanyName]\[ProductName]\
Run Code Online (Sandbox Code Playgroud)

可以这样做,怎么做?有什么影响?升级后,用户是否会丢失先前版本的设置?

settings .net-2.0

101
推荐指数
4
解决办法
5万
查看次数