由于泛型参数约束违规,移动服务提供500内部服务器错误

时间:2014-05-09 10:35:56

标签: c# azure deployment azure-mobile-services

我已经提供了移动服务(基于此" http://wp.sjkp.dk/azure-mobile-service-net-backend-using-azure-table-storage/")。 它在我的本地机器上运行得很好,但是当我将它部署到云端时,它会产生500"内部服务器错误"更确切地说,我得到了这个例外:

  

错误异常= System.TypeLoadException:GenericArguments [0],' ModelLibrary.MenuEntity',on' Microsoft.WindowsAzure.Mobile.Service.StorageDomainManager`1 [TData]'违反了类型参数' TData'的约束。      at lunchviewerService.Controllers.MenuController.Initialize(HttpControllerContext controllerContext)      在System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext,CancellationToken cancellationToken)      在System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage请求,CancellationToken cancellationToken)      在System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext(),Id = eda6ebbf-e30f-4a03-a60a-28e9ed92a6ee,Category =' App.Request' App.Request 09-05-2014 10:09:48

我理解错误,但是MenuEntity类确实实现了StorageDomainManager作为通用约束的接口。

违规代码如下:

public class MenuController : TableController<MenuEntity>
{
    protected override void Initialize(HttpControllerContext controllerContext)
    {
        base.Initialize(controllerContext);
        DomainManager = new StorageDomainManager<MenuEntity>("StorageConnectionString", "Menus", Request, Services);
    }

我已经尝试了所有我知道的东西,并在谷歌上详尽地搜索过......但是那里没有运气。

1 个答案:

答案 0 :(得分:0)

您使用的是Azure Storage Nuget版本3.0.3.0还是碰巧有不同的版本?目前我们遇到的问题是处理比我们在云中使用的版本更新的NuGet包。如果你没有3.0.3.0,那么请你试试吗?

的Henrik