牛腩购物33:发布网站,将网站上传到外网,讲数据库发布到远程服务器,如何在服务器上开数据库,更换电脑后微软企业库报错,网站异常后发送错误信息到指定邮箱,设置错误页
2012-05-09 15:59
871 查看
当我们在一台电脑上编写代码,然后我们更换到另外一台,如果是有使用微软企业库,是会报错的,需要导入微软企业库的5个dll,可以放在bin文件夹里面,记得要在DAL层上对dll进行引用
在E:\ProgramFiles(x86)\EntLib50Src\bin文件夹里面
1:Microsoft.Practices.ServiceLocation.dll
2:Microsoft.Practices.EnterpriseLibrary.Data.dll
3:Microsoft.Practices.EnterpriseLibrary.Common.dll
4:Microsoft.Practices.Unity.dll
5:Microsoft.Practices.Unity.Interception.dll
这样才能完全使用微软企业库。
知识点二:网站异常后发送错误信息到指定邮箱
如果我们在使用网站的时候,网站报错,如何获取这些信息呢?牛叉一点的,可以使用Log4net来获取日志,这里我们使用Application_Error事件
发送邮件的代码
知识点三:设置网站错误页,当网站报错的时候,页面跳转到错误页
在E:\ProgramFiles(x86)\EntLib50Src\bin文件夹里面
1:Microsoft.Practices.ServiceLocation.dll
2:Microsoft.Practices.EnterpriseLibrary.Data.dll
3:Microsoft.Practices.EnterpriseLibrary.Common.dll
4:Microsoft.Practices.Unity.dll
5:Microsoft.Practices.Unity.Interception.dll
这样才能完全使用微软企业库。
知识点二:网站异常后发送错误信息到指定邮箱
如果我们在使用网站的时候,网站报错,如何获取这些信息呢?牛叉一点的,可以使用Log4net来获取日志,这里我们使用Application_Error事件
protectedvoidApplication_Error(objectsender,EventArgse) { //在出现未处理的错误时运行的代码 ExceptionobjErr=Server.GetLastError().GetBaseException(); stringtime=DateTime.Now.ToString(); stringerror=""; error+="<strong>异常信息:</strong>"+objErr.Message+"<br>"; error+="<strong>异常发生时间:</strong>"+time+"<br>"; error+="<strong>IP:</strong>"+Request.UserHostAddress+"<br>"; error+="<strong>发生异常页:</strong>"+Request.Url.ToString()+"<br>"; stringurl_re=""; if(Request.UrlReferrer!=null) { url_re=Request.UrlReferrer.ToString(); } error+="<strong>上次请求的URL:</strong>"+url_re+"<br>"; error+="<strong>堆栈跟踪:</strong><br>"+objErr.StackTrace.Replace("\r\n","<br>")+"<br>"; if(!objErr.Message.Contains("不存在")) { Utility.email.SendMail("网站有点小问题,请查看"+time,error,"17270@qq.com","9102@qq.com","9102@qq.com","密码","smtp.qq.com"); } }
发送邮件的代码
///<summary>邮件发送类 /// ///</summary> publicclassemail { //usingSystem.Net.Mail; //usingSystem.Net; ///<summary>发送email,默认是25端口.用法:SendMail("邮件标题","你的密码是:",收件人地址,
"发信人完整邮箱地址","发信人完整邮箱地址","密码","smtp.qq.com(QQ的smtp地址,不同的域名邮箱地址不通)") /// ///</summary> ///<paramname="title">邮件标题</param> ///<paramname="body">邮件内容</param> ///<paramname="toAdress">收件人</param> ///<paramname="fromAdress">发件人</param> ///<paramname="userName">发件用户名</param> ///<paramname="userPwd">发件密码</param> ///<paramname="smtpHost">smtp地址</param> publicstaticvoidSendMail(stringtitle,stringbody,stringtoAdress,stringfromAdress, stringuserName,stringuserPwd,stringsmtpHost) { try { MailAddressto=newMailAddress(toAdress); MailAddressfrom=newMailAddress(fromAdress); System.Net.Mail.MailMessagemessage=newSystem.Net.Mail.MailMessage(from,to); message.IsBodyHtml=true;//如果不加上这句那发送的邮件内容中有HTML会原样输出 message.Subject=title;message.Body=body; SmtpClientsmtp=newSmtpClient(); smtp.UseDefaultCredentials=true; smtp.Port=25; smtp.Credentials=newNetworkCredential(userName,userPwd); smtp.DeliveryMethod=SmtpDeliveryMethod.Network; smtp.Host=smtpHost; //message.To.Add(toAdress);//用To.Add方法能增加收件箱的号码 smtp.Send(message); } catch(Exceptionex) { throwex; } } }
知识点三:设置网站错误页,当网站报错的时候,页面跳转到错误页
<!--设置错误页--> <customErrorsmode="On"defaultRedirect="~/error.aspx"></customErrors>
知识点四:如果我们的项目是用asp.net4.0制作的,但是空间是asp.net3.5,这个时候如何对项目进行转换呢?
需要对你项目里面的各个层,进行一个转换成.net3.5
我们重新选择为3.5即可
如果是asp.net4.0转成.net3.5之后,还需要去web.config里面,删除httpRuntimerequestValidationMode=”2.0”这一行
知识点四:如何发布网站?我们选中web层,右键发布,这样其他的DAL层,Model层和Utility层的cs代码会变成bin文件夹里面的dll文件。web层的cs文件也会变成dll
如果是vs2010,的发布是这样的
然后开始上传
如果是vs2011,是这样的(vs2011的中文版到了这一步,居然是英文的,坑爹··)
记得是选择release而不是debug。因为release是对网页里面的程序进行了优化了的
今天发布的时候,总是报一个编辑器的错误,如图,提示一个图片,拷贝的时候,没找到,我进了文件夹,发现里面是空的,根本就没有,但是为什么会报错呢?
于是我在vs里面打开web层的文件夹,发现还真的有一张图片,估计是以前做测试的时候有存在,但是可能是当时直接去文件夹删除了,而没有在vs里面删除
选中,手动删除,再次发布,成功。
我们去文件看看,选中文件,并上传到服务器上。
相关文章推荐
- 安卓手机开发,手机上应用百度地图得到了经纬度,如何将这些经纬度信息上传到远程服务器中数据库里?
- .net remoting 客户端与服务端绑定事件,一部电脑当服务器,另一部当客户端,发布后没法接收远程错误信息。
- 亲测完美解决:服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)
- 内网发布外网访问+免费域名+tomcat+本地电脑做服务器搭建网站
- 牛腩购物9 用户表设计/动软生成器/金钱字段decimal(18, 2)/ 注册的时候的前台js判断/后台代码判断/正则表达式软件/RegexBuddy/设置数据库字段的唯一性约束/如何获取控件在前台html的id值/如何将C#的后台正则换成js的正则
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。但可以通过在本地服务器计算机上运行的浏览器查看。
- 导入导出数据库数据,报错,链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
- ddnslib.py - 更新adsl用户外网ip到动态域名网站no-ip.com,并发送新ip到指定邮箱的python脚本
- 异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软
- 自己电脑做服务器是如何发布网站到互联网的
- 网站发布后,出现错误“应用程序中的服务器错误”未将对象引用设置到对象的实例
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- 如何把本地MSSQL数据库发布到远程服务器上_视频在线观看
- 使用django设置将错误报告发送到指定邮箱
- 错误:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 解
- 服务器上出现应用程序错误。此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全原因)。
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- 如何把asp.net网站发布到自己的电脑,外网也可以访问