ASP.Net& # 39; s字符串.Replace在Windows 7工作站和Windows 2008 R2服务器上

本文关键字:Windows 工作站 2008 服务器 R2 Replace Net 字符串 ASP | 更新日期: 2023-09-27 18:11:37

我有一个ASP。.Net项目使用。Net框架4.0。如果我的项目发布到我的Windows 7工作站,以下行可以正常工作:

strTemplate = strTemplate.Replace("<span style='"background-color: yellow;'">", "");

但是,如果我将项目发布到Windows 2008 R2服务器上,则不会发生上述替换。没有误差;服务器只是找不到模式,也不会替换它。有人能告诉我为什么,或者如何解决这个问题吗?我试过在我的模式字符串前面放一个"@",但是然后字符串想要在"background-color"之前的双引号终止,无论反斜杠是否存在。

ASP.Net& # 39; s字符串.Replace在Windows 7工作站和Windows 2008 R2服务器上

试试这个:

strTemplate = strTemplate.Replace(@"<span style=""background-color: yellow;"">", "");

使用@符号时,必须加两个双引号。

编辑:假设您可以访问Windows 2008 R2服务器上正在运行的应用程序,请尝试在Windows 7工作站上运行以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Globalization;
namespace CurrentCulture
{
    public class Info : MarshalByRefObject
    {
        public void ShowCurrentCulture()
        {
            Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                              Thread.CurrentThread.Name,
                              AppDomain.CurrentDomain.FriendlyName,
                              CultureInfo.CurrentCulture.Name);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Info inf = new Info();
            // Set the current culture to Dutch (Netherlands).
            Thread.CurrentThread.Name = "MainThread";
            Thread.CurrentThread.CurrentCulture = CultureInfo.CurrentCulture;
            inf.ShowCurrentCulture();
            Console.Read();
        }
    }
}

如果你的Windows 7工作站的当前区域性与你的Windows 2008 R2服务器不同,你需要调整你的Windows 2008 R2线程的当前区域性以符合你的期望。

你可以像这样设置你的线程的区域性:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL");

我的代码是从MSDN页面修改的:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture(v=vs.110).aspx