Tag: asp.net

如何在ASP.NET C#中发送电子邮件

我很新的ASP.NET C#领域。 我打算通过ASP.NET C#发送邮件,这是我的ISP的SMTP地址: smtp-proxy.tm.net.my 以下是我试图做的,但失败了。 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="SendMail" %> <html> <head id="Head1" runat="server"><title>Email Test Page</title></head> <body> <form id="form1" runat="server"> Message to: <asp:TextBox ID="txtTo" runat="server" /><br> Message from: <asp:TextBox ID="txtFrom" runat="server" /><br> Subject: <asp:TextBox ID="txtSubject" runat="server" /><br> Message Body:<br> <asp:TextBox ID="txtBody" runat="server" Height="171px" TextMode="MultiLine" Width="270px" /><br> <asp:Button ID="Btn_SendMail" runat="server" onclick="Btn_SendMail_Click" Text="Send Email" […]

使用Visual Studio时是否可以自动增加文件构build版本?

我只是想知道如何使用Visual Studio(2005) 自动增加我的文件的版本(和版本?)。 如果查找说C:\Windows\notepad.exe的属性,版本选项卡给出“文件版本:5.1.2600.2180”。 我想在我的dll的版本中得到这些很酷的数字,而不是版本1.0.0.0,让我们面对它有点沉闷。 我尝试了一些东西,但它似乎不是开箱即用的function,或者我只是在错误的地方(像往常一样)。 我主要与网站项目…. 我看了两个: http://www.codeproject.com/KB/dotnet/Auto_Increment_Version.aspx http://www.codeproject.com/KB/dotnet/build_versioning.aspx 我不敢相信这么做是一种标准的做法。 编辑: 它不能在VS2005中工作,据我所知( http://www.codeproject.com/KB/dotnet/AutoIncrementVersion.aspx )

Path.Combine的url?

Path.Combine很方便,但在.NET框架中有没有类似的function? 我正在寻找这样的语法: Url.Combine("http://MyUrl.com/", "/Images/Image.jpg") 这将返回: "../../../Images/Image.jpg"

一些黑客可以从用户那里窃取cookie,并在网站上用这个名字login?

读这个问题 不同的用户在aspxanonymous中获得相同的cookie值 并寻找一个解决scheme,我开始思考, 如果有可能某个人真的偷了一些cookie,然后把它放在他的浏览器和login让我们说作为pipe理员 。 你知道表单身份validation如何确保即使Cookie被篡改,黑客也不会实际login使用它吗? 或者你知道任何其他的自动防御机制? 先进的谢谢你。

参数是否足以防止Sql注入?

我一直在向我的同事们讲述如何在SQL查询中使用参数,特别是在.NET应用程序中。 我甚至已经承诺给予他们免于SQL注入攻击。 但是我开始怀疑这是否属实。 是否有任何已知的SQL注入攻击将成功参数化查询? 你可以例如发送一个string,导致服务器上的缓冲区溢出? 当然还有其他一些考虑要确保一个Web应用程序是安全的(比如清理用户input和所有这些东西),但现在我正在考虑SQL注入。 我特别感兴趣的是对MsSQL 2005和2008的攻击,因为它们是我的主数据库,但是所有的数据库都很有趣。 编辑:澄清我的意思是参数和参数化查询。 通过使用参数我的意思是使用“variables”,而不是build立一个string的SQL查询。 所以不要这样做: SELECT * FROM Table WHERE Name = 'a name' 我们这样做: SELECT * FROM Table WHERE Name = @Name 然后在查询/命令对象上设置@Name参数的值。

什么是ASP.NET Identity的IUserSecurityStampStore <TUser>接口?

看看ASP.NET Identity(ASP.NET中的新成员实现),在实现我自己的UserStore时遇到了这个接口: //Microsoft.AspNet.Identity.Core.dll namespace Microsoft.AspNet.Identity { public interface IUserSecurityStampStore<TUser> : { // Methods Task<string> GetSecurityStampAsync(TUser user); Task SetSecurityStampAsync(TUser user, string stamp); } } IUserSecurityStampStore由默认的EntityFramework.UserStore<TUser> ,它实质上获取并设置TUser.SecurityStamp属性。 经过一些挖掘之后,看起来SecurityStamp是在UserManager关键点(例如,更改密码)新生成的Guid 。 因为我正在检查Reflector中的这段代码,所以除了这个之外,我无法真正解读。 几乎所有的符号和asynchronous信息都被优化了。 另外,谷歌并没有太多的帮助。 问题是: 什么是ASP.NET标识中的SecurityStamp ,它的用途是什么? SecurityStamp在创build身份validationCookie时扮演什么angular色? 是否有任何安全后果或预防措施,需要采取与此? 例如,不要将此值下游发送给客户端? 更新(9/16/2014) 源代码在这里: https://github.com/aspnet/Identity/ https://github.com/aspnet/Security/

为什么Response.Redirect会导致System.Threading.ThreadAbortException?

当我使用Response.Redirect(…)redirect我的表单到一个新的页面时,我得到的错误: 在mscorlib.dll中发生types“System.Threading.ThreadAbortException”的第一个机会exception mscorlib.dll中发生types“System.Threading.ThreadAbortException”的exception,但未在用户代码中处理 我的理解是这个错误是由web服务器中止了response.redirect被调用的页面的其余部分引起的。 我知道我可以将第二个参数添加到名为endResponse的Response.Redirect 。 如果我设置endResponse为True,我仍然得到错误,但如果我将它设置为False,那么我不会。 我很确定,这意味着networking服务器正在运行我redirect的页面的其余部分。 至less可以说这似乎是低效率的。 有没有更好的方法来做到这一点? 除了Response.Redirect之外的东西还是有办法强制旧页面停止加载,我不会得到一个ThreadAbortException ?

ASP.NET MVC自定义error handlingApplication_Error Global.asax?

我有一些基本的代码来确定我的MVC应用程序中的错误。 目前在我的项目中,我有一个名为Error与控制器的操作方法HTTPError404() , HTTPError500()和General() 。 他们都接受一个string参数error 。 使用或修改下面的代码。 将数据传递给错误控制器进行处理的最佳方式是什么? 我希望有一个可靠的解决scheme。 protected void Application_Error(object sender, EventArgs e) { Exception exception = Server.GetLastError(); Response.Clear(); HttpException httpException = exception as HttpException; if (httpException != null) { RouteData routeData = new RouteData(); routeData.Values.Add("controller", "Error"); switch (httpException.GetHttpCode()) { case 404: // page not found routeData.Values.Add("action", "HttpError404"); break; case 500: // […]

使用参数将数据插入到访问数据库

我有以下方法插入数据到一个访问数据库,它可以正常工作,但如果我尝试插入包含我学过的单引号的文本,则会出现问题。 [WebMethod] public void bookRatedAdd(string title, int rating, string review, string ISBN, string userName) { OleDbConnection conn; conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Server.MapPath("App_Data\\BookRateInitial.mdb")); conn.Open(); OleDbCommand cmd = conn.CreateCommand(); cmd.CommandText = @"INSERT INTO bookRated([title], [rating], [review], [frnISBN], [frnUserName])VALUES('" + title + "', '" + rating + "','" + review + "','" + ISBN + […]

System.Diagnostics.Process.Start不能从IIS工作

当我从我的控制台应用程序运行System.Diagnostics.Process.Start ,它的工作原理,但是当我从IIS中托pipe我的Web服务运行相同的代码不起作用。 是否与ASP.Net权限有关? 如果是的话我怎样才能从我的C#代码进行configuration。