我遇到的问题是ASP.NET MVC 2中应该是一个简单的登录表单.本质上我的表单看起来像这样:
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
Run Code Online (Sandbox Code Playgroud)
我在LogOn Action方法上有一个RequiresHTTPS过滤器但是当它执行时我收到以下消息
请求的资源只能通过SSL访问
此时唯一有效的解决方案是传递额外的动作htmlattribute,如下所示:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但我想知道a)为什么我首先看到这个问题,b)如果有更直接的方式从http页面发布到https?
[编辑]
我应该说过登录下拉列表可以在很多公共页面上找到.我不希望我的所有页面都是HTTPS.例如,我的希望页面 - 任何人都可以看到 - 不应该基于HTTPS.基本上我需要在我的表单中指定协议,但不知道如何做到这一点,或者是否可能.
我将不胜感激任何意见/建议.提前致谢
J.P
我的应用程序由ASP.NET MVC 3应用程序和Windows服务组成,两者都在同一个盒子上.MVC应用程序使用MassTransit将消息放在MSMQ队列上.该服务使用MassTransit从MSMQ读取这些消息并执行一些工作.当我加载服务和应用程序并让它们同时运行时,一切似乎都正常.但是,如果我只加载Web应用程序,我的消息不会被添加到MSMQ并且基本上消失.奇怪的是,如果我加载我的Web应用程序然后启动并立即停止所述服务,则从Web应用程序发送的后续消息将添加到队列中.
没有很多使用MassTransit和StructureMap和/或MVC的好/现代示例,所以它可能是我的配置问题,但经过几个小时的试验和错误,我不知道如何继续.我也可能在滥用MassTransit - 我真正需要的是来自Web应用程序的火灾和遗忘解决方案......
我的服务如下:
class Program
{
static void Main(string[] args)
{
Bus.Initialize(sbc =>
{
sbc.UseMsmq();
sbc.VerifyMsmqConfiguration();
sbc.UseMulticastSubscriptionClient();
sbc.ReceiveFrom("msmq://localhost/receiver");
});
ObjectFactory.Initialize(x =>
{
x.AddRegistry(new EmailSenderRegistry());
});
var host = HostFactory.New(c =>
{
c.SetServiceName("MyApp.EmailMessageReader");
c.SetDisplayName("MyApp.EmailMessageReader");
c.SetDescription("MyApp.EmailMessageReader");
c.Service<ClientService>(a =>
{
a.ConstructUsing(service => new ClientService());
a.WhenStarted(o => o.Start());
a.WhenStopped(x=>x.Stop());
});
});
host.Run();
}
}
internal class ClientService
{
public void Start()
{
Bus.Instance.SubscribeConsumer<EmailPrepService>();
}
public void Stop()
{
// do nothing
}
}
public class EmailPrepService : Consumes<EmailMessage>.All
{
public …Run Code Online (Sandbox Code Playgroud) 我想知道在ASP.NET MVC中填充常用的下拉列表时最佳做法是什么.例如,我有一个国家和州选择,在我的应用程序中经常使用.对于我希望包含这样一个下拉列表的每个视图来说,填充viewmodel并从我的控制器绑定到该viewmodel似乎很脏.
在这种情况下,人们如何填充他们的下拉列表? - 这个烤制的自定义基类?助手班等?
提前致谢,
J.P
我正在开发一个网站,我希望通过匿名化他们的电子邮件地址来保护买家.与craigslist的系统类似,当卖家需要联系买家时,他们应该能够发送电子邮件到匿名地址,如1425415125 @ mysite.然后将com路由到用户的电子邮件地址.
我现在的计划是:
我的问题如下:
提前致谢
J.P
我想使用WebAPI作为我的API技术:
有没有人知道用于实现接口版本控制的最佳实践和机制.具体来说,如果我对API进行更新,我不想破坏向后兼容性.我想知道人们使用什么版本控制方案,以及WebAPI是否有任何支持版本控制的内置机制,而不需要在每次发布新版本时都设置路由/路径.任何想法将不胜感激.
更新 在进行一些研究后,我想我知道自己想做什么,我不知道该怎么做.理想情况下,在内容协商期间,我想使用用户传递的媒体类型来指定应该使用哪个版本的API(而不是硬编码URL)并点击相应的控制器.
我正在写一个小的javascript文本扩展库.该图书馆使用网络工作者,并与凉亭打包.当通过bower安装时,找不到解析器脚本(我得到404),因为浏览器相对于消费站点的根目录而不是相对于使用它的bower脚本(两个脚本都包含在其中)夹).这似乎是正确的行为.
我的问题是:如何将工人与凉亭结合使用,以便在不对bower_components/path进行硬编码的情况下加载所需的脚本?
function Expander(args) {
...
this.parser = 'parser.js';
this.worker = new Worker(this.parser);
...
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Maxmind的免费DAT文件来计算来自IP地址的纬度和经度 - 这很好用并且非常简单易用.
但是,我遇到了一个问题,我希望用户输入他们的邮政编码并自动计算该邮政编码的纬度和经度.
有没有人有任何使用Maxmind数据库的经验?如果是这样,你是如何实现它的.
提前致谢
J.P
我正在为我的ASP.NET MVC 3网站构建一个Web服务.理想情况下,我希望所有客户端(我的网页,iphone应用程序,Android应用程序,Windows Phone 7应用程序等)使用相同的服务层来加载和保存数据.
我是移动开发的新手,并且想知道是否有一种首选机制 - SOAP/JSON /等 - 来使用异构移动设备设置.具体来说,我想知道Android和iOS是否有更好的库/支持一个协议,或者主流移动平台是否有强大的支持所有协议.我也想知道是否一切都是为了确保所述服务.
任何建议将不胜感激
谢谢
J.P
您使用的自定义ASP.NET MVC模型验证属性是什么.似乎有很多可能性(邮政编码,电子邮件地址,过去的日期等),但我没有找到任何好的来源,这些是共享的.我将使用以下内容开始列表:
c# ×5
asp.net-mvc ×4
android ×1
anonymize ×1
bower ×1
craigslist ×1
email ×1
geospatial ×1
ios ×1
javascript ×1
jquery ×1
jquery-ui ×1
masstransit ×1
portal ×1
portlet ×1
ssl ×1
validation ×1
wcf ×1
web-services ×1
web-worker ×1