是否可以在不编辑web.config的情况下为azure ACS设置领域URL,声明类型等?你能以某种方式以编程方式设置这些必需的元素吗?
编辑:具体我想摆脱这个:
<federatedAuthentication>
<wsFederation passiveRedirectEnabled="true" issuer="https://mynamespace.accesscontrol.windows.net/v2/wsfederation" realm="http://localhost:81/" requireHttps="false" />
</federatedAuthentication>
Run Code Online (Sandbox Code Playgroud)
基本上,我不希望在Web配置中指定域,而是在代码中指定.我已经尝试重写ClaimsAuthenticationManager并将部分注释到与FederatedAuthentication相关的代码中.我的被覆盖的身份验证代码被命中,但它不包含任何声明.我假设这是因为FederatedAuthentication是一个中介,它在正常访问被覆盖的ClaimsAuthenticationManager之前执行自己的身份验证.有没有办法以类似的方式覆盖FederatedAuthentication部分?或者是否有信息传递到我可以用来执行我自己的身份验证的重写的身份验证方法?
我正在使用knockoutjs 2.0我一直试图让这个表在IE8中工作(它在FF,Chrome和IE9中工作正常):
<table data-bind="foreach: Applications">
<tr>
<td><input type="text" data-bind="value: Name"/></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
在IE8中,我收到错误:错误:'undefined'为null或不是对象URL:http://127.0.0.1:81/Scripts/jquery-1.5.1.min.js
我实际上通过使表格成为模板并使模板包含表格行来解决问题.但这不是那么干净,我想知道是否有更好的解决方案.
以下是我设置视图模型的方法:
self.Applications = ko.observableArray([]);
$.each(model.Applications, function (i, applicationItem) {
var application = new Application(applicationItem.ApplicationID, applicationItem.Name);
self.Applications.push(application);
});
function Application(applicationID, name) {
var self = this;
self.ApplicationID = applicationID
self.Name = ko.observable(name);
};
Run Code Online (Sandbox Code Playgroud)
编辑:找到解决方案 改为使用无容器控制流程
<table>
<tbody>
<!-- ko foreach: Applications -->
<tr>
<td><input type="text" data-bind="value: Name"/></td>
</tr>
<!-- /ko -->
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud) 通过最近涉及WebResponse的一些代码调试后,我发现我遇到的问题是我在发出另一个之前没有正确处理WebResponse.因为WebResponse需要被转换为IDisposable以便实际调用dispose(或者你可以使用"using"来实现相同的目标),所以我误入歧途.
所以我的问题是:
1)Microsoft用什么来实现这一目标?
IDisposable是一个接口,因此是公共的,但WebResponse以某种方式改变了根据MSDN doumentation保护的访问修饰符.我认为这是不可能的.
2)以这种方式隐藏处置有什么好处?
为什么不让webResponse.Dispose()有效?