标签归档:c#

从客户端(keyword=“< script >alert(”“”“)

使用ASP.NET c#语言开发的网站,若用户输入的数据中有包含html代码或javascript代码的话,默认会被安全机制给拦截,如下图:

解决方案:
在web.config配置文件中的system.web节点下,找到httpRuntime节点,在里面增加:requestValidationMode=”2.0″ 就可以了,同时将validateRequest的值设置为flase。
再输入有包含javascript的内容,则可以提交成功了。[……]

Read more

c#解析json:Cannot deserialize the current JSON object (e.g. {“name”:”value”}) into type ‘System.Collections.Generic.List

使用c#解析json的时候报:

Cannot deserialize the current JSON object (e.g. {“name”:”value”}) into type ‘System.Collections.Generic.List

出现这个错误的时候,可能是你对应的实体类型错误,例如这个字段可能是string类型的,结果你弄成了int类型,或者是实体类型的时候,你弄成了string类型。

我今天就碰到了这个坑,而且还花了不少的时间。。。[……]

Read more

VS 2015 IIS 10.0 Detailed Error – 500.22 – Internal Server Error

IIS 10.0 Detailed Error – 500.22 – Internal Server Error。

HTTP Error 500.22 – Internal Server Error

检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

最可能的原因:

  • 此应用程序在 system.web/httpModules 节中定义配置。

可尝试的操作:

  • 将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做。例如,从 IIS Express 安装目录运行 appcmd migrate config “Default Web Site/”。使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在经典模式下和以前版本的 IIS 上工作。
  • 如果您确信可以忽略此错误,则可以通过将 system.webServer/validation@validateIntegratedModeConfiguration 设置为 false 来禁用它。
  • 也可以将应用程序切换到经典模式应用程序池。例如,从 IIS Express 安装目录运行 appcmd set app “Default Web Site/” /applicationPool:”Clr4ClassicAppPool”。只有在无法迁移应用程序时才这样做。

项目用VS2015后一运行就出现这样的问题,后来发现,原来是web.confg的配置与iis 10.0的配置有差异,修改如下:

修改前:

<httpModules>
<add type=”URLRewriter.ModuleRewriter, URLRewriter” name=”ModuleRewriter”/>
</httpModules>

修改后:

<system.webServer>
<modules>
<add type=”URLRewriter.ModuleRewriter, URLRewriter” name=”ModuleRewriter”/>
</modules>
</system.webServer>

 

运行即可正常![……]

Read more

c#执行bat方法

废话不多说,直接上代码….

ProcessStartInfo psi = new ProcessStartInfo(“cmd.exe”);

psi.CreateNoWindow = true;//不显示dos命令行窗口

psi.UseShellExecute = false;

psi.RedirectStandardOutput = true;

psi.RedirectStandardError = true;

psi.FileName = @”C:\Users\Jones.Zhao\Desktop\开启其它服务.bat”;

// Start the process

System.Diagnostics.Process proc =System.Diagnostics.Process.Start(psi);

// Attach the output for reading

System.IO.StreamReader sOut = proc.StandardOutput;

proc.Close();

// Read the sOut to a string.

string results = sOut.ReadToEnd().Trim();

sOut.Close();
txtResult.Text=results;

[……]

Read more