小编Den*_*ard的帖子

升级到ASP.NET 4.5/MVC 4表单身份验证失败

我刚刚使用ASP.NET 4.5和MVC 4.0加载了VS 2012,并且正在用一个示例应用程序开玩笑,发现与ASP.NET 4.0/MVC 3完美配合的表单身份验证似乎不再适用于最新发布的.

当我在动作控制器中调用Login函数时,WebSecurity.Login调用失败:

public ActionResult Login(LoginModel model, string returnUrl)
{
    if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
    {
        return RedirectToLocal(returnUrl);
    }

    // If we got this far, something failed, redisplay form
    ModelState.AddModelError("", "The user name or password provided is incorrect.");
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

我已经用VS 2010源代码中的等效代码替换了此代码,并且也失败了(使用现已弃用的FormsAuthentication.Authenticate函数).

我的问题是:有没有人将MVC3移植到MVC4应用程序并找到了解决此问题的方法?我正在使用IIS Express,所以我想这可能会以某种方式引起一些问题,但如果你有任何想法,我会很感激.

我从我的asp.net 4/MVC3应用程序中复制了我的配置如下,但没有运气(这里是相关部分):

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=tcp:sql2k1201.dbprovider.net;Initial Catalog=SQL2012_db;User ID=SQL2012_db_user;Password=dbpassword;" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880"/>
    </authentication>

    <membership>
      <providers>
        <clear/> …
Run Code Online (Sandbox Code Playgroud)

forms-authentication iis-express asp.net-mvc-4 asp.net-4.5

15
推荐指数
2
解决办法
2万
查看次数

如何通过Python/C API将Python实例传递给C++

我通过使用SWIG 2.0包装接口来扩展我的Python(2.7)库,并有一个图形对象,我想在其中创建一个访问者.在C++中,界面如下所示:

    struct Visitor
    {
        virtual void OnStateBegin() = 0;
        virtual void OnNode(Node* n) = 0;
        virtual void OnStateEnd() = 0;
    };
Run Code Online (Sandbox Code Playgroud)

我想在Python中定义一个类,它在python中定义了相同的类,它允许定义访问者:

class GraphVisitor:
    def __init__(self, label):
        self._label = label
        print("__init__(self,{0})".format(self._label))
    def OnStateBegin(self):
        print("OnStateBegin()" + self._label)
    def OnNode(self, i_node):
        print("OnNode()" + self._label)
    def OnStateEnd(self):
        print("OnStateEnd()" + self._label)
Run Code Online (Sandbox Code Playgroud)

我要做的是在python脚本中创建GraphVisitor的实例,并从C++调用给定实例的方法OnStateBegin(),OnNode()和OnStateEnd().这是我想用Python做的事情:

#model is a SWIG wrapped class
mvis = GraphVisitor("This is a test")
model.Visit("mvis") # I'm not sure how to pass the instance 'mvis' to C++?
Run Code Online (Sandbox Code Playgroud)

在我用Swig包装的C++中,我不确定如何获取实例'mvis'?我可以调用Python中定义的函数没问题,但是实例让我难过!

c++ python swig python-2.7

6
推荐指数
1
解决办法
445
查看次数

嵌套的Silverlight Datagrid - 行详细信息效果很好,但我想要一个按钮!

我正在使用silverlight 3数据网格,在其中,我通过使用rowdetails(visibilitymode = visiblewhenselected)将相关记录嵌套在另一个控件中.

我真的很喜欢它的工作方式,但是当按下"+"按钮时,我更倾向于让网格显示行详细信息,就像单击节点时树会展开一样.

我尝试使用以下资源以编程方式定义模板:

<Grid.Resources>
    <DataTemplate x:Key="EmptyTemplate">
        <StackPanel>
            <!--<TextBlock Text="Empty Template!!!" />-->
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Key="SongTemplate">
        <StackPanel>
            <AdminControls:ArtistSongControl x:Name="ArtistSongControl" />
        </Stack>
    </DataTemplate>
</Grid.Resources>
Run Code Online (Sandbox Code Playgroud)

在网格的LoadingRowDetails事件中,我将选择要设置的模板:

e.Row.DetailsTemplate = (DataTemplate)LayoutRoot.Resources["SongTemplate"];
Run Code Online (Sandbox Code Playgroud)

这种方式有效,但我发现我在折叠前一行细节模板时遇到了问题,甚至崩溃了ie8(不确定是否相关).

基本上,我真的很喜欢silverlight 3 datagrid的工作原理,甚至是如何实现rowdetailstemplate的东西.我只是想延迟加载任何细节,直到有意地扩展一行(如树一样).所有的第三方网格似乎都是这样做的,而微软的网格太紧密了.有谁知道如何解决这个问题?

谢谢,丹尼斯

datagrid nested silverlight-3.0

5
推荐指数
1
解决办法
1万
查看次数

ServiceStack.OrmLite - 如何在外键查找中包含字段?

我正在尝试使用ServiceStack MVC PowerPack,我正在尝试使用包含的OrmLite ORM,并尝试从外键引用的表中获取数据,而不知道如何操作.

例如,在使用Northwind数据库的OrmLite示例中,是否可以返回包含"ShipperTypeName"的Shipper对象作为通过外键"ShipperTypeID"查找的字符串?

http://www.servicestack.net/docs/ormlite/ormlite-overview,我想在可能的情况下将ShipperName字段添加到Shipper类:

[Alias("Shippers")]
public class Shipper : IHasId<int>
{
    [AutoIncrement]
    [Alias("ShipperID")]
    public int Id { get; set; }

    [Required]
    [Index(Unique = true)]
    [StringLength(40)]
    public string CompanyName { get; set; }

    [StringLength(24)]
    public string Phone { get; set; }

    [References(typeof(ShipperType))]
    public int ShipperTypeId { get; set; }
}

[Alias("ShipperTypes")]
public class ShipperType : IHasId<int>
{
    [AutoIncrement]
    [Alias("ShipperTypeID")]
    public int Id { get; set; }

    [Required]
    [Index(Unique = true)]
    [StringLength(40)]
    public string Name { get; set; …
Run Code Online (Sandbox Code Playgroud)

servicestack

4
推荐指数
1
解决办法
7669
查看次数

Silverlight 4.0 + MVC 2.0 + WCF RIA服务+ EF 4.0 =加载错误

我正在尝试用以下内容建立一个网站:

  • VS 2010(更新的WCF RIA服务)
  • Silverlight 4.0(与WCF RIA服务一起打包).
  • MVC 2
  • EF 4.0

我正在设置它以便面向公众的页面将是来自MVC的html,但管理部分将是使用WCF RIA服务进行数据访问的silverlight导航应用程序.

当我在webforms应用程序中创建silverlight应用程序时,它可以工作(我能够成功添加数据网格并使用EF 4.0和WCF RIA服务检索数据): alt text http://www.patleague.com/images/sl4_webforms. PNG

当我在MVC2应用程序中创建silverlight应用程序时: alt text http://www.patleague.com/images/sl4_mvc2.png

我收到如下错误(我在两种情况下都添加了相同的数据网格 - 一个包含2条记录的简单表格): alt text http://www.patleague.com/images/sl4_mvc_dataerr.png

webforms服务器端工作,而MVC服务器端不工作.我没有成功尝试WCF日志和fiddler,但我不知道如何得到任何输出(使用此处的示例:http://msdn.microsoft.com/en-us/library/ms730064.aspx),我也试过小提琴手得到一些没有运气的信息.我真的很挣扎,我想知道是否还有其他人遇到过这个问题并找到解决办法?

谢谢,丹尼斯

entity-framework-4 silverlight-4.0 wcf-ria-services asp.net-mvc-2

3
推荐指数
1
解决办法
1607
查看次数

DomainDataSource DataPager与silverlight 3 DataGrid和.Net RIA服务

我有一个简单的datagrid示例与silverlight 3,并使用.NET Ria服务使用DomainDataSource以及DataPager声明性地填充它(在代码隐藏中没有任何内容),并且遇到了这个问题:

LoadSize为30,页面大小为15,加载页面时,第1页和第2页显示正确,但当我超出第2页时,网格中没有任何内容显示.

这曾经在使用.NET Ria服务的Mix 2009预览版的silverlight 3 beta中工作,我有一个非常简单的例子,并且已经验证了Web项目上的服务被调用以加载新的批处理,但是网格没有显示任何数据.

任何人都可以解释为什么网格只显示数据的初始加载而不是来自寻呼机的后续批次?

这是我的xaml:

    <riaControls:DomainDataSource x:Name="ArtistSource" QueryName="GetArtist" AutoLoad="True" LoadSize="30" PageSize="15">
        <riaControls:DomainDataSource.DomainContext>
            <domain:AdminContext />
        </riaControls:DomainDataSource.DomainContext>
    </riaControls:DomainDataSource>

    <data:DataGrid Grid.Row="1" x:Name="ArtistDataGrid" ItemsSource="{Binding Data, ElementName=ArtistSource}">
    </data:DataGrid>

    <StackPanel Grid.Row="2">
        <data:DataPager Source="{Binding Data, ElementName=ArtistSource}" />
    </StackPanel>
Run Code Online (Sandbox Code Playgroud)

data-paging silverlight-3.0 wcf-ria-services

2
推荐指数
1
解决办法
1万
查看次数