分类: ASP.Net

解决Asp.Net网站发布时总出现找不到类或方法错误的问题

出现这种问题通常都是在Git合并代码到当前解决方案后出现的,这种情况下Visual Studio里本机调试没有任何问题,但是发布就是不行。 其根本原因在于Web项目引用的的其它项目发生了改变,却没有在发布时重新编译。 解决此问题的方法就是把编译方式改为Release,然后清理解决方案,再重新编译,再进行发布就行了。 因为网站发布时都是采用Release方案的,继而会直接使用Release方案已生成的dll文件,所以有时候就会把旧的dll直接拿去发布,这样就会找不到新增的一些类或方法等引用。 为了准确判断是否正确发布,请检查每个项目对应的dll程序集版本是否皆为最新,以确保部署不会出现问题。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

MongoDB实现基于关键词的文章检索功能(C#)

我的实现目标是: 可以通过一个或多个关键词搜索到文章。 可以通过文章的关键词列表查询到其相关文章。 查询到的结果依据相关程度降序排列。 查询速度要够快。(理论上关键词检索比全文检索要快很多的) 在网上找了一大圈,就没有一个靠谱的方法,基本都是只能传入单词来检索,而且基本都没有提供C#驱动版本的代码,于是乎自己研究出了这个实现方案: 首先要求使用标签、分词、关键词提取组件对文章对应的关键词进行提取,然后作为数组格式,存入文章的Keywords字段中。 核心检索代码: /// <summary> /// 根据关键词获取文章编号与标题映射。 /// 注意:此方法会返回最为匹配的若干个项目,并根据匹配程度降序排列,即使是没有任何关键词匹配项,也会返回若干个结果的。 /// 另需注意:如果是根据文章关键词来查询,一般来说其中一定包含原文章,所以应该把期望获得的数量加1,并在结果中移除原文。 /// </summary> /// <param name=”limitNum”>数量上限</param> /// <param name=”keywo...

更多

Cache.Add vs Cache.Insert

ASP.Net中Cache对象的两个方法的差异对比。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

Visual Studio 局域网内测试ASP.Net网站项目的方法

Visual Studio(以下简称VS)对网站项目的调试默认只能本机访问,这样就没法实现移动设备真机测试了,解决办法如下: 首先以管理员模式启动VS,打开项目,启动调试。 然后去系统右下角右键点击IIS Express的图标,选择“显示所有应用程序”: 这时点击自己的网站名称,再点击配置文件的链接: 用VS打开此配置即可,找到自己网站的site节点,注意里面的bindings子节点,按照其中localhost的格式添加一个本机的局域网IP地址上去: 保存后关闭VS,这时记得去关闭Windows的防火墙,或者在防火墙的入站规则中加一个允许对应端口的TCP规则: 再以管理员模式启动VS,再运行调试,就能够从其它设备访问了。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

MVC5配合Ninject的使用范例

网上Ninject的资料大都是MVC3或更早的,少有的几个MVC5的写的也挺麻烦的,又改 Global.asax 又自建解析器类什么的,自己尝试了一下,发现其实现在的Ninject的MVC5插件配置真的非常简单了,下面就来演示一下操作步骤: 首先创建Web项目: 类型设为MVC: 然后管理项目的NuGet包: 搜索Ninject,安装Ninject.MVC5 PS:NuGet服务器经常被墙,不成功就果断挂VPN吧。 可以看到安装程序包列表,接受之: 然后创建测试用的类型,首先是 I武器 接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVC5配Ninject测试 { public interface I武器 { string 说明 { get; } } } 然后是实现接口的 手里剑 类: using System; using System.Collections.Generi...

更多

ASP.Net Web Api 提示不支持“Get”方法的解决办法

使用Chrome访问Web Api时提示: The requested resource does not support http method ‘GET’. 这种情况通常都是因为你的Api Action方法名不是以“Get”作为起始,Web Api的规则很死,即使你像这样改变了路由规则: 然后准确访问到Action,也是不行的。 所以就只能把你的Action方法名改为“GetXXXXXX”才可以。 分享或转载本博客站点内的所有原创内容时,都必须遵循此协议: 姓名标示-非商业性-相同方式分享 4.0 国际 (CC BY-NC-SA 4.0) 同时必须附加指向本文页面或本博客首页的超链接。 除此之外的转载、分享方式都必须征得本博客作者的授权,否则将会诉诸法律。

更多

简单的网站激活器

众所周知,ASP.Net网站在初次访问或隔一段时间后再访问时,速度会非常慢,因为网站需要重新初始化,即使发布时选择了预编译功能,也还是难以让人满意。 解决此问题最简单的办法就是持续激活网站,避免网站资源被释放了,于是乎就用几行代码写了一个这样的小工具,在服务器中将其运行,就可以保持网站被持续激活了: 当然你也可以将其运行在客户机上,只需要修改配置文件“网站激活器.exe.config”中的网址即可持续激活远程网站。 程序代码极其简单: using System; using System.Collections.Generic; using System.Configuration; using System.Diagnostics; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; namespace 网站激活器 { class Program { static void Main(string[] args) { var url= Conf...

更多

ASP.Net网站部署到Windows Server 2012的操作记录(含Web Deploy)

本文记录了部署ASP.Net网站程序到一个新的 Windows Server 2012 服务器的操作步骤,其中包含了Web Deploy的安装和配置步骤,配置好 Web Deploy 可以允许我们在 Visual Studio 中直接一键发布网站,省去了手工上传、覆盖的麻烦。 首先在远程服务器中添加角色和功能,到 服务器角色 步骤,选择“Web 服务器”: 多次点“下一步”按钮到 选择角色服务 步骤,选择“管理服务”。(这是安装 Web Deploy 所必备的) 然后勾选 安全性 相关的选项: 以及 常见HTTP功能 的相关选项: 最后还有 应用程序开发 的相关选项: 确认安装即可,经过一段时间等待后安装完毕: 接下来访问这个网址下载 Web平台安装器 :http://www.microsoft.com/web/downloads/platform.aspx 如果点击下载按钮后出现如下提示: 那么要更改一下 Internet 选项: 下载并运行后,在右上角搜索 “deploy” ,得到如下结果: 添加”未捆绑SQL支持的Web Deploy 3.5”,然后开始安装,安装成功后关闭 We...

更多

使用JSON.NET反序列化抽象类或接口成员的方法

反序列化带有抽象或接口成员的类型时会遇到如下错误提示: Newtonsoft.Json.JsonSerializationException: Could not create an instance of type ITestInterface. Type is an interface or abstract class and cannot be instantiated. 问题和解决办法可以参考:http://stackoverflow.com/questions/15880574/json-net-how-to-deserialize-collection-of-interface-instances 这里总结一下,主要就是自己实现一个继承自SerializationBinder的类,来自己控制命名空间和程序集名称。 例如我们有一个文章类Article,里面有个成员是List<Paragraph>类型来表示段落列表,Paragraph是一个抽象类,其下面有若干个子类,表示诸如文本段落、列表段落、Markdown文本段落、引用段落等等,上述这些类都隶属于一个相同的程...

更多

ABP结合MongoDB的使用范例

ASP.NET Boilerplate官方的范例都是基于Entity Framework和NHibernate的,说是支持MangoDB,源码中也确实有MangoDB,但用Google寻遍世界也没找到任何说明或范例,无奈只有自己摸索了。 由于是刚刚接触ABP,测试时举步维艰,总算是得以达成,以下总结记录下这得来不易的成果: 首先前往官网去下载模板: http://www.aspnetboilerplate.com/Templates 选项如下: 下载好之后解压缩,用VS打开。 这时管理解决方案的NuGet包: 执行还原命令: 慢慢等待其自动下载和安装。 下好之后关闭NuGet窗口,执行重新生成解决方案操作,全部编译成功即可。 然后去其github空间: https://github.com/aspnetboilerplate 使用Git下载 aspnetboilerplate 项目的源码到本地,其地址为:https://github.com/aspnetboilerplate/aspnetboilerplate.git 下载好源码之后,添加现有项目: 选取这个 Abp.MongoDB ...

更多