Вот что сработало для меня, когда я развернулся в Heroku.
http://flask-cors.readthedocs.org/en/latest/
Установите колбу, запустив - pip install -U flask-cors
from flask import Flask
from flask_cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route("/")
@cross_origin()
def helloWorld():
return "Hello, cross-origin-world!"
Хорошо, я нашел проблему ... вроде. Я изменил имя таблицы «Назначения» и забыл обновить сохраненную процедуру, так что дизайнер DBML был сбит с толку. НО даже после того, как я обновил хранимую процедуру, удалил ее из конструктора DBML и прочитал ее, она не работала!
Это почти та же проблема, что обсуждается здесь: http://forums.asp.net/t/1231821.aspx .
Это сработало только тогда, когда я удалил хранимую процедуру из базы данных и воссоздал его и удалил из дизайнера DBML, перекомпилировал, перезапустил Visual Studio и снова добавил. Это второй раз, когда я сталкиваюсь с проблемами "обновления" в конструкторе Visual Studio DBML ...
Я также встречал эту проблему несколько раз и Хотя я не знаю, чем это вызвано, я нашел довольно простой способ обойти это. Это включает в себя ручное редактирование xml в файле .dbml, но это довольно простое редактирование.
Щелкните правой кнопкой мыши файл .dbml
вашего контекста данных в обозревателе решений (не файл .layout и не файл дизайнер. cs) и откройте его в редакторе XML. Вы должны найти свою хранимую процедуру в блоке
. Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке
.
Шаг первый - присвоить вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, убедившись, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Вы должны найти свою хранимую процедуру в блоке ...
. Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - дать вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, убедившись, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Вы должны найти свою хранимую процедуру в блоке ...
. Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - дать вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, чтобы убедиться, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Функция> ... блок. Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - присвоить вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, убедившись, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Функция> ... блок. Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - присвоить вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, чтобы убедиться, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - дать вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, чтобы убедиться, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Вы также должны найти настраиваемый класс, который вы хотите установить в качестве возвращаемого типа, указанный в блоке ...
.
Шаг первый - дать вашему настраиваемому классу идентификатор . Вы делаете это, добавляя тег «Id», например, так, чтобы убедиться, что он уникален в файле dbml:
<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
таким образом, убедившись, что он уникален в файле dbml:<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
тег, как этот, убедившись, что он уникален в файле dbml:<Type Name="MyCustomClass" Id="ID1">
Шаг второй - указать вашей функции использовать новый тип ID в качестве возвращаемого типа. Вы делаете это, заменяя строку в вашем блоке
, которая выглядит как
<Return Type="System.Int32" />
, на
<ElementType IdRef="ID1" />
. Сохраните файл, выйдите и перестройте. Готово. Снова откройте файл .dbml в режиме разработки, чтобы убедиться: ваша процедура теперь будет иметь настраиваемый класс, установленный в качестве возвращаемого типа.
Это также происходит при использовании определяемых пользователем типов sql в качестве параметров в хранимых процедурах
У меня была та же проблема, но только если моя sp использует FTS, то что я сделал, это "обманул" dbml дизайнер, я удалил fts языковой штуки и работает отлично, теперь я могу изменить тип возврата. Позже я иду в sp и добавить fts снова и работает прекрасно!... Надеюсь, это поможет.
Лучшее решение найдено здесь: http://tonesdotnetblog.wordpress.com/2010/06/02/solution-my-generated-linq -to-sql-stored-procedure-returns-an-int-when-it-should-return-a-table /