我知道,通过ASP.NET网站下的动态编译,文件后面的代码可以编译成程序集.运行IIS Express时,这些DLL的存储位置在哪里?它只在记忆中吗?我没有在bin文件夹或临时目录(C:\ Windows\Microsoft.NET\Framework [64]\v4.0.30319)中看到它们.通常我会在我发布时预编译它们时生成它们.但在这种情况下,我看不到它们.
我错过了什么吗?
谢谢.
更新:
我确实在C:\ Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\root下看到了dll
所以我认为它存储在那里?这是Visual Studio 2012,.NET 4.5.
用外行人的话说,做什么,UpdateModel()做什么TryUpdateModel()?我似乎无法找到(在SO或网络上)任何明确的解释它实际上做了什么(用明确的术语),只是有人使用它有问题.
VisualStudio的intellisense也没有帮助我.我问的原因是,因为,如果我在我的控制器中有这个:
[HttpPost]
public ActionResult Index( UserViewModel vm, FormCollection form)
{
var statesCheckBoxes = form["StatesList"];
vm.BA.StatesTraveledTo = statesCheckBoxes.Split(',').ToList<string>();
return View(vm);
}
Run Code Online (Sandbox Code Playgroud)
我不是已经通过设置更新我的模型了vm.BA.StatesTraveledTo吗?为什么我需要运行UpdateModel?此外,当我实际尝试执行以下操作时:
[HttpPost]
public ActionResult Index( UserViewModel vm, FormCollection form)
{
var statesCheckBoxes = form["StatesList"];
vm.BA.StatesTraveledTo = statesCheckBoxes.Split(',').ToList<string>();
UpdateModel(vm); // IS THIS REDUNDANT TO THE PREVIOUS LINE?
return View(vm);
}
Run Code Online (Sandbox Code Playgroud)
当我检查ModelState的值时(在我运行UpdateModel()之后),似乎没有发生任何事情,我没有看到任何迹象表明有任何改变.我没有在ModelState字典中看到新密钥.
真的很困惑.谢谢!
编辑:
发布ViewModel和Model类的源代码:
public class UserViewModel
{
public BankAccount BA { get; set; }
}
public class BankAccount
{
public Person User { …Run Code Online (Sandbox Code Playgroud) 是否可以安全地假设当用户通过HTTP请求.aspx页面时,ASP.NET为其创建至少1个线程?
如果是这样,它会持续多久?
如果有1000个人向同一个.aspx页面发出HTTP请求,是否有一些涉及的线程回收,那么它不会产生不同的1000个线程?
从我正在阅读的内容来看,为了在.NET中使用TransactionScope,您需要在Windows中运行分布式事务处理协调器服务.我关闭了该服务,我的应用程序似乎运行相同,回滚交易没问题.
我错过了什么吗?它是如何工作的?我正在运行Windows 7并在VisualStudio 2010上运行webapp.
有没有办法重置Dapper生成的缓存?我在我的数据库中删除了一个表列,我收到错误"未找到列".我重置IIS,之后它工作正常.
可以在不重新启动IIS的情况下重置它吗?谢谢.
我刚刚开始使用ViewModels.你能查看一下这段代码,看看我是否遵循最佳做法?有什么不同寻常的吗?你会以不同的方式进行验证吗?
对不起,如果代码很长(有很多部分).我试图让它尽可能容易理解.
谢谢!
模型
public class CustomerModel
{
[Required(ErrorMessage="Primer nombre!")]
public string FirstName { get; set; }
[Required(ErrorMessage="Segundo nombre!")]
public string LastName { get; set; }
[Required(ErrorMessage="Edad")]
public int? Age { get; set; }
public string State { get; set; }
public string CountryID { get; set; }
[Required(ErrorMessage="Phone Number")]
public string PhoneNumber { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图模型
public class CustomerViewModel
{
public CustomerModel Customer { get; set; }
public string Phone1a { get; set; }
public string Phone1b …Run Code Online (Sandbox Code Playgroud) 我注意到,在创建自定义验证属性时,我的验证仅在本机MVC数据注释触发后触发.有什么办法可以"同时"解雇吗?
为了表明我的意思,假装我有这样的形式:
FirstName: <FirstName Textbox>
LastName: <LastName TextBox>
Zip: <Zip TextBox>
Run Code Online (Sandbox Code Playgroud)
所以我对所有3都有一个[Required]注释,但另外,对于Zip属性,我有一个自定义属性.如果用户没有输入名字或姓氏,但是输入了无效的Zip(我的属性应该验证这一点),那么所有三个都应该有一条错误消息 - 但是没有.firstName和lastName只有一个错误.
这是代码:
Person.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
// My validator
using MvcApplication3.Extensions.Validation;
namespace MvcApplication3.Models
{
public class Person
{
[Required(ErrorMessage="Field required!")]
public string firstName{get;set;}
[Required(ErrorMessage="Field required!")]
public string lastName { get; set; }
[Zip(ErrorMessage="You gotta put in a valid zip code")]
[Required(ErrorMessage="Field required!")]
public string zipCode { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
[HttpPost]
public ActionResult Index(FormCollection form, Person person)
{ …Run Code Online (Sandbox Code Playgroud) 这在任何Web浏览器上都会发生.当我进入页面时,我看到类似按钮没有显示任何计数.然后我...
我可以无休止地重复步骤1-4,结果相同 - 我从未看到总的实时计数.
看起来它不会保持计数,但当我通过以下方式查询时:
https://api.facebook.com/method/fql.query?query=select total_count,like_count,comment_count,share_count,click_count from link_stat,其中url ='https://www.myswebsite.com/'&format=json
我看到现场统计数据 - 所以我知道它正在发挥作用.我也尝试过不同版本的http://developers.facebook.com/docs/reference/plugins/like/ - 以及旧版本.我已经将代码隔离为只是Facebook代码,页面上没有别的东西.出于某种原因,当我使用https://www.myswebsite.com/时,它没有显示.我尝试其他网址,如http://www.google.com和代码,它工作正常,我可以看到计数.
这是一个SSL网站.这与它有什么关系吗?此外,当我们最初使用Like按钮启动网站时,最初是http://mywebsite.com.然后我们将其切换到http://www.myswebsite.com,然后设置SSL通配符以同时运行.我不确定缓存是否与它有任何关系.
谢谢!
我在IIS中有一个网站,并且我希望将2、3.5和4版本的应用程序托管在同一IIS网站下。这可能吗?
认为这就像修改web.config一样容易。到目前为止,我已经在根上创建了一个ASP.NET 3.5站点。然后,我在下面创建一个目录并部署了一个ASP.NET 2.0站点。到目前为止,当我查看3.5站点时,它的显示效果很好。但是,在2.0站点浏览目录的default.aspx时,得到:
说明:在解析服务于此请求所需的资源期间发生错误。请查看以下特定的解析错误详细信息,并适当地修改您的源文件。
有什么想法吗?
谢谢。
更新以显示完整错误(不确定是否有帮助)

asp.net ×4
asp.net-mvc ×4
c# ×3
razor ×2
.net ×1
dapper ×1
facebook ×1
http ×1
iis ×1
msdtc ×1
sql-server ×1
transactions ×1
updatemodel ×1
web-config ×1
webforms ×1