【问题标题】:DotNetOpenAuth and Windows Azure with MVC3 Web Role带有 MVC3 Web 角色的 DotNetOpenAuth 和 Windows Azure
【发布时间】:2011-11-26 02:53:38
【问题描述】:

我创建了一个带有 MVC3 webrole 的云项目(空项目,添加了主控制器和视图)。当我调试时(F5)它运行顺利。

通过 NuGet 安装 DotNetOpenAuth 3.4.7.11121 后出现以下错误:

Microsoft Visual Studio 的 Windows Azure 工具出现错误 将调试器附加到 URL 的 IIS 工作进程 'http://127.255.0.1:83/' 用于角色实例 'deployment16(82).WindowsAzureProject1.MvcWebRole1_IN_0'。无法 在 Web 服务器上开始调试。常见配置见帮助 错误。在调试器之外运行网页可能会提供 更多的信息。确保服务器正常运行。 通过执行 Debug.Start 验证 web.config 中没有语法错误 无需调试。您可能还想参考 ASP.NET 和 ATL 在线文档中的服务器调试主题。

同样的事情发生在另一台机器上的 MVC2 项目上。 归结为 web.config 中的以下 configSections 行(由 install-package DotNetOpenAuth 添加)

<section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

我错过了什么?

似乎上面提到的 web.config 中的行可以删除。可能已经包含在 machine.config 或其他内容中。

而且,当我对 mvc 项目进行调试时,它会按预期运行。该错误仅在我调试云项目时发生

【问题讨论】:

  • 如果您在云项目上“运行 | 启动而不调试”会发生什么?
  • 在不调试的情况下运行会导致云项目出现 500 内部服务器错误。
  • 我花了大约 3 个小时调试同样的问题,您的解决方案修复了它!谢谢=)

标签: azure web-config dotnetopenauth


【解决方案1】:

似乎删除提到的行 (section name="uri"...) 可以修复调试和不调试的问题。

我没有发现任何不良影响,并且使用 OpenID 登录 Google 并使用 dotNetOpenAuth 工作。

【讨论】:

  • .NET 不喜欢你定义两次节。不幸的是,Azure 似乎有一个非标准的 machine.config 文件(或者它正在运行 .NET 4.0,它也有 machine.config 这种方式)。你的修正是合适的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多