Tag: asp.net mvc 4

Redis中的MVC4和ServiceStack会话

我有一个全新的MVC4项目,我在其上安装了ServiceStack MVC入门包(来自MyGET的4.0.12版本)来引导服务堆栈会话的使用。 在我的AppHost我的自定义会话配置为: Plugins.Add(new AuthFeature(() => new CustomUserSession(), new IAuthProvider[] { new CredentialsAuthProvider(config) })); 为了测试目的,自定义会话看起来像这样: public class CustomUserSession : AuthUserSession { public string Hello { get; set; } } 并且ICacheClient注册为redis客户端: // register the message queue stuff var redisClients = config.Get(“redis-servers”, “redis.local:6379”).Split(‘,’); var redisFactory = new PooledRedisClientManager(redisClients); var mqHost = new RedisMqServer(redisFactory, retryCount: 2); container.Register(redisFactory); // […]

MVC4:使用电子邮件作为参数进行URL路由

我有这个url在我的VS网络服务器上运行得非常好 http://localhost:4454/cms/account/edituser/email@domain.com (works) 但是当我将这个站点发布到IIS7.5时,它只会抛出404。 http://dev.test.com/cms/account/edituser/email@domian.com (does not work) 但如果删除电子邮件地址,就会发生奇怪的事情 http://dev.test.com/cms/account/edituser/email (works , no 404) 但如果我用查询字符串更改我的url,它可以正常工作 http://dev.test.com/cms/account/edituser?id=email@domain.com (works) 这是我的路线入口 routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id = UrlParameter.Optional }, // Parameter defaults new[] { “App.NameSpace.Web.Controllers” } ); 我注意到的奇怪的事情是,当服务器抛出404错误页面时,它是标准iis 404页面而不是我拥有的一个自定义页面。 所以我想知道我的路由映射有什么问题,或者IIS不喜欢有电子邮件作为参数的url。 但是我的当地开发人员一切正常。 谢谢

QueueClient.Receive()的异步方法?

我正在使用服务总线来连接Web角色和worker角色。 我的worker角色处于连续循环中,我正在接收Web角色使用QueueClient.Receive()方法发送的消息。 但是使用此方法,如果服务总线队列上没有消息,它将等待几秒钟来接收消息,而不是移动到下一行以进一步执行。 我希望有一些接收消息的异步方法? 或至少某种方式来设置这个等待时间? 我从QueueClient的msdn文档中找到了这个BeginReceive方法,我希望这将是我的问题的答案,但我不知道如何使用这种方法。 方法参数是异步回调和对象状态,我不知道它们是什么。 有任何想法吗? 更新:由于Sandrino的一个很好的解决方案,它的工作是异步的。 但异步现在给了我一些问题。 我的VS崩溃了。 不确定是什么问题。 以下是我正在使用的代码。 工人角色: public override void Run() { while (!IsStopped) { // Receive the message from Web Role to upload the broadcast to queue BroadcastClient.BeginReceive(OnWebRoleMessageReceived, null); // Receive the message from SignalR BroadcastHub SignalRClient.BeginReceive(OnSignalRMessageReceived, null); } } public void OnWebRoleMessageReceived(IAsyncResult iar) { BrokeredMessage receivedBroadcastMessage […]

如何使用c#将byte 转换为HttpPostedFileBase

如何使用c#将byte []转换为HttpPostedFileBase。 在这里,我尝试了以下方式。 byte[] bytes = System.IO.File.ReadAllBytes(localPath); HttpPostedFileBase objFile = (HttpPostedFileBase)bytes; 我得到一个不能隐式转换错误。

在MVC4路由中使用点“。”字符

我目前正在提供来自数据库表的图像,这些表都是相同的文件类型。 我想要字符点“。” 在路线上,但没有取得任何成功。 据我了解,ISAPI处理程序可能会导致与此相关的问题。 我只是不确定如何添加和排除以允许这个路由由ASP.NET处理。 routes.MapRoute( name: “ImageUrl”, url: “Image/{action}/{id}.png”, defaults: new { controller = “Image” } );

entity framework – 索引0处的初始化字符串的格式

这是例外, System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0. at System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue) at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey) at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules) at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) […]

如何通过操作结果从另一个局部视图更新局部视图

我对主视图有三个部分视图 在第一个局部视图中我有搜索function,当用户点击搜索时我想将结果刷新到第三个局部视图。 控制器: public ActionResult Search() { virtualmodel vm = new virtualmodel(); return PartialView(svm); } [HttpPost] public ActionResult Search(ViewModel svm) { // Query to retrive the result // I am not sure what to return from here. Link to another action or just return back to same same partial } public ActionResult AnotherPartialPartial() { } […]

在ASP.NET MVC中扩展HiddenFor模板

我认为Html.HiddenFor可以使用Html.DisplayFor或Html.EditorFor等模板。 不幸的是,该方法不像其他方法那样接受TemplateName 。 我知道,解决方法是使用具有HiddenFors的DisplayFor / EditorFor模板。 但我想了解如何扩展Html.HiddenFor方法。 任何人? 问候

MVC4脚本包缓存问题

我们有一个MVS应用程序,我们使用Bundle类捆绑javascript代码(不要做缩小)。 捆绑工作正常,但是当我们运行应用程序时,缓存值设置为Cache-Control:no-cache ,同时每次刷新页面时请求总是有200 OK。 这意味着即使没有更改,js也不会缓存在客户端上。 还有一种方法可以validation捆绑的js是动态构建还是从服务器缓存中获取? 谢谢

Castle Windsor ASP.NET MVC 4和Web API相同的应用程序。 只有MVC控制器没有依赖关系?

本文是使用Castle Windsor进行Web API的一个很好的起点,但是如果我创建一个简单的MVC控制器呢? 它只有在注入没有依赖时才有效。 添加这个,即: public class HomeController : Controller { private readonly IValuesRepository repository; public HomeController(IValuesRepository repository) { this.repository = repository; } public ActionResult Index() { return View(); } } 导致以下错误: 为此对象定义的无参数构造函数 有没有办法在使用Castle Windsor的同一个应用程序中使用MVC和Web API逻辑? 在application_start设置DependencyResolver.SetResolver(…)之后,我没有注意到我的应用程序有任何改进。 如你看到的。 实现服务定位器: internal sealed class WindsorDependencyResolver : ServiceLocatorImplBase, IDependencyResolver { private readonly IWindsorContainer container; public WindsorDependencyResolver( IWindsorContainer container) […]