问题列表 - 第13532页

如何让AttributeExchange和/或SimpleRegistration与MVC一起使用?

我正在试图让AttributeExchangeSimpleRegistration使用3.2.0.9257版本的DotNetOpenAuth.

这就是我所做的:

  1. 从GitHub下载了3.2.0.9257标签
  2. 开设了DotNetOpenAuth视觉工作室解决方案
  3. 对OpenIdRelyingPartyMvc示例进行了更改

这些更改都在UserController的Authenticate方法中.

我换了第44行,

return openid.CreateRequest(Request.Form["openid_identifier"]).RedirectingResponse.AsActionResult();
Run Code Online (Sandbox Code Playgroud)

以下内容:

var request = openid.CreateRequest(Request.Form["openid_identifier"]);

// Add SimpleRegistration requests for Email and FullName
var sr = new ClaimsRequest();
sr.Email = DemandLevel.Request;
sr.FullName = DemandLevel.Request;
request.AddExtension(sr);

// Add AttributeExchange requests for Email and FullName
var ax = new FetchRequest();
ax.Attributes.Add(new AttributeRequest(WellKnownAttributes.Contact.Email));
ax.Attributes.Add(new AttributeRequest(WellKnownAttributes.Name.FullName));
request.AddExtension(ax);

return request.RedirectingResponse.AsActionResult();
Run Code Online (Sandbox Code Playgroud)

(我还添加了DotNetOpenAuth.OpenId.Extensions.AttributeExchange和DotNetOpenAuth.OpenId.Extensions.SimpleRegistration命名空间.)

然后,在"阶段3认证"之后的同一方法中,我尝试获得响应:

var sr = response.GetExtension<ClaimsResponse>();
var ax = response.GetExtension<FetchResponse>();
Run Code Online (Sandbox Code Playgroud)

但是,这些响应始终为空.我试过谷歌,雅虎和MyOpenID.在所有情况下,身份验证都能正常运行,但不会返回SimpleRegistration或AttributeExchange数据.

我究竟做错了什么?

openid asp.net-mvc dotnetopenauth

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

如何保存配置文件/ python文件IO

我有这个python代码用于打开.cfg文件,写入并保存它:

import ConfigParser 

    def get_lock_file():
        cf = ConfigParser.ConfigParser()
        cf.read("svn.lock")
        return cf
    def save_lock_file(configurationParser):
        cf = configurationParser
        config_file = open('svn.lock', 'w')
        cf.write(config_file)
        config_file.close()
Run Code Online (Sandbox Code Playgroud)

这看起来是正常的还是我错过了一些关于如何打开写保存文件的东西?是否有更标准的方式来读取和写入配置文件?

我问,因为我有两个似乎做同样事情的方法,他们得到配置文件句柄('cf')调用cf.set('blah','foo'bar)然后使用上面的save_lock_file(cf)调用.对于一种方法,它起作用,而对于另一种方法,写入永远不会发生,不确定为什么在这一点上.

def used_like_this():
        cf = get_lock_file()
        cf.set('some_prop_section', 'some_prop', 'some_value')
        save_lock_file(cf)
Run Code Online (Sandbox Code Playgroud)

python file-io file configuration-files

0
推荐指数
1
解决办法
4430
查看次数

PHP函数名称即时

我有一个相当愚蠢的PHP问题:D!我想简化以下声明:

function hello_input() {
    return 'Hello World';
}

$helper = 'hello';

$helper = $helper . '_input';

$data = $helperinput();
Run Code Online (Sandbox Code Playgroud)

我想简化的具体部分是将_input添加到$ he​​lper,以便调用正确的函数.

我想到这样的东西,但它不起作用:

$data = $helper. 'input'();
or
$data = $helper. 'input' . ();
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢,马克斯

php

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

换行后的否定前瞻?

我有一个类似CSV的文本文件,大约有1000行.文件中的每个记录之间是一长串破折号.记录通常以\n结尾,但有时在记录结束前有一个额外的\n.简化示例:

"1x", "1y", "Hi there"
-------------------------------
"2x", "2y", "Hello - I'm lost"
-------------------------------
"3x", "3y", "How ya
doing?"
-------------------------------
Run Code Online (Sandbox Code Playgroud)

我想用空格替换额外的\n,即连接破折号之间的线.我以为我能做到这一点(Python 2.5):

text = open("thefile.txt", "r").read()    
better_text = re.sub(r'\n(?!\-)', ' ', text)
Run Code Online (Sandbox Code Playgroud)

但这似乎取代了每一个\n,而不仅仅是那些没有紧随其后的那些.我究竟做错了什么?

我问这个问题是为了提高我自己的正则表达能力并理解我犯的错误.最终目标是生成一种格式的文本文件,该格式可由特定的VBA for Word宏使用,该格式生成一个样式化的Word文档,然后由Word友好的CMS消化.

python regex

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

WPF TextBlock填充正在切断文本

我有一个TextBlockGridPadding属性设置为5,有时候最后一个字符被切断,这取决于字符串Text属性设置为.

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="SomeClass">
    <ScrollViewer Padding="5" VerticalScrollBarVisibility="Auto">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <Label
                Grid.Row="0" Grid.Column="0"
                Content="SomeLabel"
                HorizontalAlignment="Right"
                HorizontalContentAlignment="Right"
                VerticalAlignment="Center" />
            <TextBlock
                Grid.Row="0" Grid.Column="1"
                HorizontalAlignment="Left"
                Padding="5"
                Text="0x0F"
                TextWrapping="Wrap"
                VerticalAlignment="Top" />
        </Grid>
    </ScrollViewer>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

Text设置为0x0FF不可见.当它设置为0xAB字符串显示就好了.设置Padding为0也使字符串显示正常.

wpf textblock padding

7
推荐指数
1
解决办法
8979
查看次数

设置内联元素的宽度

您可以设置内嵌元素的宽度,例如<span>,<em><strong>,但在定位之前您不会注意到任何效果.

a)我认为内联元素的宽度不能设置?

b)假设可以设置宽度 - 在我们定位内联元素之前,我们不会注意到任何效果(因此我们指定的宽度).定位如何/在哪里?

c)为什么内联元素的宽度只有在我们"定位"它们时才会显现?

html css xhtml

43
推荐指数
4
解决办法
6万
查看次数

如何在前端使用Hibernate乐观锁定版本属性?

使用实体的version属性进行乐观锁定工作正常并且易于实现:

<version property="VERSION" type="int" column="EX_VERSION" />
Run Code Online (Sandbox Code Playgroud)

该实体具有以下类型的属性:

private int VERSION;
public int getVERSION() { return VERSION; }
public void setVERSION(int VERSION) { this.VERSION = VERSION; }
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在,服务方法返回上面实体的数据传输对象(DTO),视图以HTML格式显示.对于更新页面,VERSION属性存储在HTML隐藏字段中并随表单一起提交.

目的是使用version属性来确保如果显示的信息附带旧版本,则用户的更新将失败.

控制器通过调用包含更新信息(包括版本属性)的DTO的服务方法来响应用户更新请求,并且服务方法依次使用数据访问对象(DAO)来持久化更改:

public void update(SimpleDTO dto) {
    SimplyEntity entity = getSimpleDao().load(dto.getId());
    copyProperties(dto, entity); // all properties, including VERSION copied to entity
    getSimpleDao().update(entity);
}
Run Code Online (Sandbox Code Playgroud)

问题是Hibernate不遵守copyProperties(...)复制到实体中的版本属性.我在下面的论坛中找到了原因:https://forum.hibernate.org/viewtopic.php?f = 1&t = 955893&p = 2418068

简而言之,当调用load()时,Hibernate会在会话缓存中缓存version属性,并且随后更改为它的值无关紧要.我同意这是正确的行为,但我已经被老板指示通过HTML表单属性传递版本(如果有更好的模式,我很乐意听到它).

我现在正在探索的一个解决方案是在更新发生之前使用hibernateTemplate.evict(simpleEntity)设置版本之后将实体从会话中逐出.我希望这有效,但它看起来效率不高.

我想请Hibernate检查实例本身的version属性,而不是仅查看会话缓存.

提前谢谢你的答案!

- LES

java hibernate web-applications optimistic-locking

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

轮询调制解调器输入数据的最佳设计是什么?

我有一个GSM调制解调器连接到我的电脑,我想接收使用我编写的python程序发送给它的短信,我只是想知道什么是最好的技术轮询数据.

我应该编写一个具有无限循环的程序,该循环不断检查传入的短信,即在循环内,程序发送AT命令并读取输入数据.或者调制解调器有一种方式来发信号通知传入数据(短信)的应用.

我试图想象手机只是一个GSM调制解调器,当收到短信时,手机就会提醒你这个事件,或者手机软件是否有无限循环来轮询输入数据.

python modem gsm at-command

8
推荐指数
1
解决办法
3624
查看次数

将OpenID集成到网站的注册过程中

我想将Stack Overflow的相同注册过程集成到我的网站中.有谁知道这是否可行以及我可以采取的任何方式来做这件事?

我正在使用ASP.NET MVC来实现我的网站.如果有人可以通过一些例子等我指出正确的方向,这将是非常棒的.

asp.net openid asp.net-mvc

4
推荐指数
2
解决办法
419
查看次数

在MySQL中为什么这个IF返回false?

在MySql中,如果IF()函数的第一个参数是一个字符串,为什么它返回false?

SELECT IF('string', 'string', 'not string'); -- 'not string'
Run Code Online (Sandbox Code Playgroud)

当然,如果我这样做,我可以解决这个问题

IF(!ISNULL('string'), 'string', 'not string')) -- 'string'
Run Code Online (Sandbox Code Playgroud)

要么

IFNULL('string', 'not string'); -- 'string'
Run Code Online (Sandbox Code Playgroud)

它似乎有点违反直觉,它以一种字符串的形式评估字符串

SELECT IF(1, 'one', 'not one'); -- 'one'
Run Code Online (Sandbox Code Playgroud)

SELECT IF('1', 'one', 'not one'); -- 'one'
Run Code Online (Sandbox Code Playgroud)

评估他们做的方式......

mysql if-statement

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