我有一个使用JsonResult序列化的自定义viewmodel.ViewModel具有一些必须公开的属性,但同时这些属性在生成的Json输出中不可见.
我已经尝试过使用[NonSerialized]属性,但这似乎没有任何效果.
有没有简单的方法来做到这一点?或者我必须编写自己的结果类型(在这种情况下,我可能不会打扰)?
有很多博客文章描述了如何使ASP.NET MVC在Windows Azure上运行.该过程看起来并不复杂,但与此同时,这些文章都提到Windows Azure上没有正式支持ASP.NET MVC.另一方面,我发现的文章已经很老了(2009年3月之前)
所以,我想知道:Windows Azure是不是仅仅用于托管ASP.NET MVC应用程序作为概念的一部分,或者这是一个限制,当它们发布最终版本的Azure时会消失?我对在平台上托管一个生产网站感到不安,这个网站没有正式支持它...
此外,与标准专用托管相比,定价怎么样?我找到了这个定价表,但我没有提到Azure中标准VM的CPU功率.
我正在尝试将ASP.NET MVC 1.0/Visual Studio 2008项目移植到ASP.NET MVC RC 2/Visual Studio 2010.该项目(并且一直在)在IIS 7上运行.
动态内容(由控制器提供的所有内容)工作正常,但静态内容(如CSS/Javascript/Images)给出了"200 OK"响应,Content-Length为0且没有内容.好像所有这些文件都是空的(我确保文件不是空的).
静态内容位于我通过IgnoreRoute从ASP.NET路由中排除的目录中.
它不能是隐藏的404错误,因为向URL添加一些乱码字符会产生一个reguar 404错误.
它似乎与文件系统权限无关,因为我已经在内容目录中给予每个人完全访问权限.
可能是什么问题?
编辑:我刚从头创建了一个全新的ASP.NET MVC网站,并尝试在IIS中运行它.它有完全相同的问题!所以这根本不是将我的项目转换为MVC2的问题,而是看起来似乎是IIS造成了麻烦.但可能是什么问题呢?
我是IPhone开发的新手,必须决定开发我的应用程序的合适工具.因为我知道C#/ .NET,但不是客观C,Mono Touch似乎对我很有吸引力.但值得多花400美元吗?
如果两者都试过,我会对你的意见感兴趣.
我正在将现有的应用程序从Linq移植到SQL到Entity Framework 4(默认代码生成).
我注意到两者之间的一个区别是重置对象引用时不会更新外键属性.现在我需要决定如何处理这个问题.
例如,假设您有两个实体类型,Company和Employee.一家公司有很多员工.
在Linq To SQL中,设置公司还设置公司ID:
var company=new Company(ID=1);
var employee=new Employee();
Debug.Assert(employee.CompanyID==0);
employee.Company=company;
Debug.Assert(employee.CompanyID==1); //Works fine!
Run Code Online (Sandbox Code Playgroud)
在实体框架中(并且不使用任何代码模板自定义),这不起作用:
var company=new Company(ID=1);
var employee=new Employee();
Debug.Assert(employee.CompanyID==0);
employee.Company=company;
Debug.Assert(employee.CompanyID==1); //Throws, since CompanyID was not updated!
Run Code Online (Sandbox Code Playgroud)
如何使EF的行为与LinqToSQL相同?我看了默认代码生成T4模板,但我无法弄清楚如何进行必要的更改.看起来像一个单行应该可以做到这一点,但我无法弄清楚如何获得给定引用的ID属性.
自从我从MVC 2升级到MVC 3 RC后,使用TryUpdateModel会导致NullReferenceException.仅当将我的操作方法作为单元测试的一部分运行时,才会出现此问题.在实际服务器上运行它按预期工作.
这是异常的堆栈跟踪:
System.NullReferenceException:未将对象引用设置为对象的实例.在System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext controllerContext)的System.Web.Mvc.ValueProviderFactoryCollection.<> c_ DisplayClassc.b _7(ValueProviderFactory factory)处于System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()处于System.1..ctor(IEnumerableSystem.Web.Mvc.Controller.TryUpdateModel中System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext)的System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)上的Collections.Generic.List 1 collection)[ TModel](TModel模型,字符串前缀)
......我自己的代码来自这里......
如果重要,我的控制器有以下签名:
[AcceptVerbs(HttpVerbs.Post)]
public virtual ActionResult Edit(int id, FormCollection collection)
{
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是,这与DI在MVC3中工作的新方式有关,但我无法弄清楚我做错了什么.也许在MVC 3中需要一些DI设置,但在MVC 2中不需要?
asp.net-mvc dependency-injection model-binding asp.net-mvc-3
我已成功创建了UIPickerView,并使用自定义ListModel tu提供可选项.但是,如何在视图出现时指定应选择哪些项目?
谢谢,
阿德里安
我有一个Perl脚本,第三方正在调用该脚本向我发送已注册我软件的人的姓名.其中一方以UTF-8编码名称,所以我相应地调整了我的脚本,用Encode :: decode_utf8(...)将UTF-8解码为ASCII.
这通常可以正常工作,但每6个月左右,其中一个名字包含西里尔字母,希腊字母或罗马字母,因此解码名称会产生垃圾字符,例如"ПоÐ'раÐанÑкаÑ".我必须跟进客户并要求他提供他的名字的"拉丁字符版本"才能发出注册码.
那么,是否有任何Perl模块可以检测是否存在这样的字符并在必要时自动将它们转换为最接近的ASCII表示?
似乎我可以使用Lingua :: Cyrillic :: Translit :: ICAO加Lingua :: DetectCharset来处理Cyrillic,但我更喜欢与其他字符集一起使用的东西.
我正在研究一个由8个.NET项目组成的解决方案.由于我正在练习TDD,我必须经常重新编译我的解决方案.最近我在尝试编译时每隔一段时间就收到以下错误:
错误2无法将文件"obj\Debug\Zeiterfassung.Tests.dll"复制到"bin\Debug\Zeiterfassung.Tests.dll".该进程无法访问文件'bin\Debug\Zeiterfassung.Tests.dll',因为它正由另一个进程使用.
Zeiterfassung.Tests.dll是我的一个项目生成的DLL(它是单元测试项目).这个dll总是无法复制并导致错误.其他一切在100%的时间都能正常工作.
在大约9/10次,我可以通过重新编译我的解决方案来"解决"问题.但是当问题变得非常糟糕时,无论我多久都尝试一次,我必须重新启动IDE,项目才会成功编译.
我使用microsoft的handle.exe来确定哪个进程正在锁定DLL,它是devenv.exe.我也尝试手动删除DLL,直到我重新启动IDE才真正删除它.
最后但并非最不重要的是,我尝试<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>按照另一个论坛的建议添加到我的项目,但这没有帮助.
请帮忙!这个问题真的开始让我疯狂.
编辑:我可能还补充说,我确保在发生此问题时我的单元测试已完成.仍然,DLL仍然锁定.我正在通过Resharper单元测试资源管理器运行我的测试.
Resharper的代码格式化通常很好,但在处理非常长的行时似乎完全被破坏了.例如,看看这段代码:

我确实想要某种换行,但它应该向前看并在必要时缩进以避免可笑的断线量.像这样的东西会很棒:

有没有办法让Resharper这样做?
asp.net-mvc ×4
iphone ×2
xamarin.ios ×2
ascii ×1
asp.net ×1
azure ×1
iis ×1
iis-7 ×1
json ×1
linq-to-sql ×1
msbuild ×1
perl ×1
resharper ×1
utf-8 ×1