Странная Ошибка Ajax ASP.NET / 32-разрядный к 64-разрядному

Это одиночный составной внешний ключ. Синтаксис:

CREATE TABLE SPEECH
 (EventName varchar(100) not null,
  EventDate date not null,
  OrderNum int not null,
  ContentAbst varchar(250),
  Contact int not null,
  Presenter int not null,
  JobID int not null,
  PostDate date not null,
 CONSTRAINT Speech_pk PRIMARY KEY (EventName, EventDate, OrderNum),
 CONSTRAINT Speech_fk3 FOREIGN KEY (Presenter, JobID, PostDate) -- fix here
   REFERENCES P_ASSIGNMENT (StaffID, JobID, PostDate)
);

Просто чтобы прояснить ситуацию, у вас нет трех внешних ключей. У вас есть один внешний ключ. Этот внешний ключ является составным ключом, поскольку он включает три столбца.

5
задан Jason Kealey 8 January 2009 в 02:42
поделиться

1 ответ

Похоже, что результат String.GetHashCode () изменяется в зависимости от того, для какого набора команд скомпилирована dll. Я не могу объяснить, почему это происходит внутри фреймворка, когда все ваши пулы приложений .NET 2.0+ являются 64-битными, но есть решение, которое вы можете попробовать, если хотите получить последний исходный код из кодекса и изменить несколько строк в ToolkitScriptManager.

Я не знаю, почему официальное исправление не было представлено на основе доступных комментариев - может быть, потому что все решения такие же уродливые, как и мои?

Я пытался исправить это с помощью Процедура хеширования SHA1, как описано в одном из комментариев, - сначала я создал статический экземпляр поставщика SHA1Managed в классе ToolkitScriptManager, как показано ниже:

public class ToolkitScriptManager : ScriptManager
{
    private static System.Security.Cryptography.SHA1Managed s = new System.Security.Cryptography.SHA1Managed();

...

3
ответ дан 15 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: