由于通用参数约束违反,移动服务给出500内部服务器错误

本文关键字:内部 错误 服务器 服务 移动 参数约束 于通用 | 更新日期: 2023-09-27 18:02:37

我做了一个移动服务(基于这个"http://wp.sjkp.dk/azure-mobile-service-net-backend-using-azure-table-storage/")。它在我的本地机器上工作得很好,但是当我将它部署到云上时,它给出了500"内部服务器错误",更准确地说,我得到了这个异常:

=系统错误异常。typeloadeexception: GenericArguments[0], 'ModelLibrary. '菜单实体',在'Microsoft.WindowsAzure.Mobile.Service. 'StorageDomainManager ' 1[TData]'违反了类型参数'TData'的约束。在lunchviewerService.Controllers.MenuController。初始化(HttpControllerContext controllerContext)在System.Web.Http.ApiController。ExecuteAsync(HttpControllerContext controllerContext, CancellationToken CancellationToken)在System.Web.Http.Dispatcher.HttpControllerDispatcher。sendasyncore (HttpRequestMessage请求,CancellationToken CancellationToken)在System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext(), Id=eda6ebbf-e30f-4a03-a60a-28e9ed92a6ee,类别='App. conf '请求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);
    }

我已经尝试了我所知道的一切,并在谷歌上详尽地搜索…但是运气不好。

由于通用参数约束违反,移动服务给出500内部服务器错误

您是使用Azure存储Nuget版本3.0.3.0还是碰巧有不同的版本?目前,我们在处理NuGet包时遇到了一些问题,这些包比我们在云中使用的版本要新。如果你没有3.0.3.0,那么你可以尝试一下吗?

Henrik