我有ASP webrole,没有ACS很好的工作。当我将ACS添加到我的应用程序时,它在本地工作得很好。然而,当我将它部署到云端时,它似乎并不是在打包Microsoft.IdentityModel.dll。
现在我做了以下工作:
过去,这也可以正常工作,而不必在实际服务器上安装WIF。
有什么想法吗?
发布于 2012-06-01 08:32:57
我设法找出了造成这个问题的原因。所以我在同一个解决方案中有1x WebRole和1XWCF角色。ACS工作得很好,直到我尝试使用WCF服务之后在应用程序中执行了三个步骤。在这一点上,Azure为每个角色创建了一个VM。因此,直到我尝试使用WCF服务时为止,这就说明了为什么要对罚款进行身份验证。程序集不是从WebRole中丢失的,而是从它创建的WCF中丢失的。因此,我确保WIF也安装在那个VM上,并且进行了工作。我仍然不明白为什么我必须在WCF VM上安装WIF,但最终是什么导致了我的问题。
发布于 2012-02-09 09:26:30
请查看这些资源,这些资源可能会帮助您解决问题:
希望这能有所帮助!
发布于 2012-03-01 20:19:36
在这个帖子中,唯一对我起作用的是“使用windows更新包部分”(但我不得不对启动脚本做一些小修改)。
基本上,我必须创建一个Startup,它执行在我的web项目下创建的批处理文件InstallWif.cmd。我还下载了WIF安装包(Windows6.0-KB 974405-x64.msu)到我的web项目中。我将这些文件的和的“复制到输出目录”属性设置为“始终复制”。
InstallWif.cmd包含以下脚本
@echo off
sc config wuauserv start= demand
wusa.exe "%~dp0Windows6.0-KB974405-x64.msu" /quiet /norestart
sc config wuauserv start= disabled
exit /b 0注意,我必须使用Windows6.0-KB 974405-x64.msu,而不是Windows6.1-KB 974405-x64.msu。我发现,通过使用到Azure的远程桌面连接登录到Azure VM实例并尝试手动在那里安装这个版本,6.1版本是不会安装的。
启动任务在ServiceDefinition.csdef文件中定义如下
<Startup>
<Task commandLine="InstallWif.cmd" executionContext="elevated" taskType="simple" />
</Startup> https://stackoverflow.com/questions/9207603
复制相似问题