Badimageformatexception При Использовании Oracle Client 64 Бит И Visual Studio 2010!
Один из членов нашей команды разработчиков получил сообщение об ошибке
Попытка загрузить клиентские библиотеки oracle бросила BadImageFormatException
Кажется,
Эта проблема возникает при работе в режиме 64 бит с установленными 32-битными клиентскими компонентами Oracle.
Но именно я настроил систему - вот спецификации:
- 64-разрядная версия Windows 7
- Visual Studio 2010 Premium
- Oracle Client 11g R2 64Bit установлен как Runtime
Любые мысли?
windows-7 windows-7-x64 oracle11g visual-studio-2010 oracleclient
Интеграция Youtube В Android
Я пытаюсь интегрировать youtube в свое приложение для Android. У меня есть следующий код для очереди видео
fun setUpYoutubePlayer()
{
val youtubeFragment = fragmentManager.findFragmentById(R.id.songYoutubeFragment)
as YouTubePlayerFragment
youtubeFragment.initialize(getString(R.string.youtube_api_key),
object : YouTubePlayer.OnInitializedListener {
override fun onInitializationSuccess(provider: YouTubePlayer.Provider,
youTubePlayer: YouTubePlayer, b: Boolean) {
// do any work here to cue video, play video, etc.
youTubePlayer.cueVideo(intent.getStringExtra(getString(R.string.song_youtube_id)))
}
override fun onInitializationFailure(provider: YouTubePlayer.Provider,
youTubeInitializationResult: YouTubeInitializationResult) {
}
})
}
Теперь иногда у меня не будет идентификатора видео. Но у меня всегда будет название песни и название альбома. Как я могу поставить в очередь видео с именем и названием альбома.
android youtube-api-v3
Как Я Могу Подключить Искру К Андроидному Приложению?
Я хочу создать приложение для Android, которое делает прогнозы, у меня уже есть свой искровой код с использованием python, и я уже создал веб-API вокруг моего движка с использованием Flask и запуска сервера с помощью искры с помощью cherrypy. Вопрос в том, как подключить вихревые к мое приложение для Android? Теперь я использовал только spark-submit
~/spark-2.2.1-bin-hadoop2.7/bin/spark-submit --master local --total-executor-cores 14 --executor-memory 6g --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.0 myserver_file.py
который дает мне:
INFO:cherrypy.error:[31/Mar/2018:19:31:46] ENGINE Serving on http://0.0.0.0:5432
[31/Mar/2018:19:31:46] ENGINE Bus STARTED
INFO:cherrypy.error:[31/Mar/2018:19:31:46] ENGINE Bus STARTED
поэтому я могу получить результаты на http://0.0.0.0:5432, но я хочу получить результат в своем приложении для Android
python android flask cherrypy apache-spark
Не Может Изменить Значение По Умолчанию Для Многих Виджетах В Форме Django
Привет, у меня есть много разных полей:
class Seeking(models.Model):
entity = models.OneToOneField(Entity)
company_type = models.ManyToManyField(CompanyTypeChoice)
У меня есть эта форма, которая использует поле:
class SeekingForm(forms.ModelForm):
class Meta:
model = Seeking
widgets = {'m2m_field': forms.CheckboxSelectMultiple}
exclude = (
'entity',
)
def __init__(self, *args, **kwargs):
super(SeekingForm, self).__init__(*args, **kwargs)
self.fields["company_type"].widget = forms.CheckboxSelectMultiple()
Виджет по-прежнему отображается как многоэкранный. Я использую django 10. Что я делаю неправильно?
django django-forms
Ionic Typeerror: Путь Должен Быть Строкой. Получено Undefined
я установил ионную + кордону по документу ионного сайта
npm install -g cordova ionic
после завершения установки я запускаю ионные команды... но не работаю ионно!
я получаю ошибку:
C:\Users\Administrator>ionic info
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.resolve (path.js:186:7)
at Project.BaseConfig (C:\Users\Administrator\AppData\Roaming\npm\node_modul
es\ionic\node_modules\@ionic\cli-utils\dist\lib\config.js:27:30)
at Project (C:\Users\Administrator\AppData\Roaming\npm\node_modules\ionic\no
de_modules\@ionic\cli-utils\dist\lib\project.js:25:1)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\ionic\dist\index.
js:54:25
at next (native)
at fulfilled (C:\Users\Administrator\AppData\Roaming\npm\node_modules\ionic\
dist\index.js:4:58)
просьбы помочь мне я искал в Google больше, но не нашел решение: (
системная информация:
windows 7
node js 6
npm 3
sdk android installed + path
java installed + path
apache ant installed + path
android cordova ionic-framework ionic2 phonegap
(Sed/awk) Как Преобразовать Файл С Разделителями Полей (Например, Csv) В Txt С Фиксированными Размерами Столбцов С Разделителями Табуляции?
У меня есть что-то вроде файла csv, в котором полем-разделителем является "@".
ID @Имя @Фамилия @Возраст @Профессия @Адрес
1254343123@John@Smith@24@Engineer@Washington 23@Alexander@Kristofferson-Brown@Economic Advisor@Kent ...
Я хочу преобразовать его в нечто более понятное для человека, как в:
1254343123 John Smith 24 Engineer Washington 23 Alexander Kristofferson-Brown 35 Economic Advisor Kent
... где каждый столбец звезды с определенным символом.
Я попробовал что-то, что использует значение размера TAB и добавляет несколько полей TAB в поле:
sed -e "{/@[^@]\{32,\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{24,31\}@/s/@\([^@]*\)@/\t\1\t/g};{/@[^@]\{16,23\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{8,15\}@/s/@\([^@]*\)@/\t\1\t\t/g};{/@[^@]\{2,7\}@/s/@\([^@]*\)@/\t\1\t\t\t/g}"
... который не работает во всех случаях.
Может ли кто-нибудь дать мне подсказку, как продолжить?
PS: Я намерен использовать в основном sed (однострочный) или если sed просто не режет его, awk в порядке.
format awk sed csv
Java Tls 1.2 Понижается До Tls 1.0, Иногда Ошибка
У меня есть клиент TLS, написанный в JAVA. Когда я устанавливаю
sslContext = TLS1.2
and enabled protocols to SSLv3 TLSv1 TLSv1.1 TLS1.2
он отлично работает практически со всеми серверами. Клиентское рукопожатие с TLSv1.2. Если сервер может только TLSv1, соединение понижает до TLSv1 во время установления связи. Но! Мы используем около 15 таких служб TLSv1, и 4 из них не могут понизить рейтинг. Серверы разные:
Microsoft-IIS/7.5, nginx, IBM_HTTP_SERVER, SQLAnywhere.
Ошибки:
SEND TLSv1 ALERT: fatal, description = unexpected_message X2
handling exception: javax.net.ssl.SSLException: Invalid Padding length: 139
javaException : Received fatal alert: unexpected_message
Если я устанавливаю разрешенные протоколы для TLSv1, эти серверы работают нормально. Но я хочу, чтобы sslContext и включенные протоколы были совместимы со всеми службами и, желательно, работали с TLSv1.2
Любые предложения будут оценены!
java ssl iis nginx
Передавать Данные Конкретных <Td> В Php
У меня есть таблица с кнопкой удаления в каждой строке, которая выглядит так:
Это мой код для каждой строки таблицы:
</tr>
{if $czyMaPakiety}
{foreach item=pakiet from=$pakiety}
<tr>
<td class="dodaj">Pakiet:</td>
<td>
<select name="pakiet[]">
{foreach item=item from=$klientTaryfaPakiety}
<option value="{$item.id_pakiet}" selected="{$item.nazwa}">{$item.nazwa_pakietu} kwota-> {$item.kwota} -> ilosc minut {$item.ilosc_minut}</option>
{foreachelse}
<option value="">Brak wolnych numerów</option>
{/foreach}
</select>
</td>
<td><a href="pakiety.php?id={$pakiet.id}" style="border: 1px solid #000000; background-color: #ADD1B3; margin-top: 10px;" name="pakiet_usun">Delete</a></td>
<td>
<input type="submit" name="pakiety_usu" style="border: 1px solid #000000; background-color: #ADD1B3; margin-top: 10px;" value="Usuń" />
</td>
</tr>
{/foreach}
{/if}
<tr>
<td colspan="2" class="center"><input type="submit" name="abonament_edy" style="border: 1px solid #000000; background-color: #ADD1B3; margin-top: 10px;" value="Edytuj abonament" /></td>
</tr>
<tr>
<td colspan="2" class="center"><input type="submit" name="abonament_usu" style="border: 1px solid #000000; background-color: #ADD1B3; margin-top: 10px;" value="Usuń abonament" /></td>
</tr>
Здесь я получаю данные из каждой строки в php:
if(isset($_POST['pakiety_usu'])) {
print_r($_POST['pakiet'][0]);
}
Без этого [0] в этой строке: print_r($_POST['pakiet'][0]); Я получаю значения всех напечатанных строк. Как я могу получить доступ к определенному ID в моем php-коде, когда я нажимаю кнопку DELETE. Я хотел бы нажать, например, вторую кнопку удаления и получить доступ к данным второй строки Pakiet.
php mysql
Преобразование Типа Данных 'long' В Байтовый Массив
Мне нужно преобразовать значения (double/float в С#) в байты и нуждаться в помощи.
//Datatype long 4byte -99999999,99 to 99999999,99
// Тип данных long 4byte -99999999,9 до 99999999,9
// Тип данных короткий 2 байт -999,99 до 999,99
// Тип данных short 2byte -999,9 to 999,9
В моем "мире дома" я просто поместил бы его и ASCII.GetBytes().
Но теперь, в этом мире, мы должны сделать меньше пространства.
И действительно, что -99999999,99 'принимает 12 байтов вместо 4! если это "длинный" тип данных.
[EDIT]
Из-за некоторой помощи и ответа я прикладываю некоторые результаты здесь,
long lng = -9999999999L;
byte[] test = Encoding.ASCII.GetBytes(lng.ToString()); // 11 byte
byte[] test2 = BitConverter.GetBytes(lng); // 8 byte
byte[] mybyt = BitConverter.GetBytes(lng); // 8 byte
byte[] bA = BitConverter.GetBytes(lng); // 8 byte
Остается еще одна деталь, чтобы узнать. Lng-variabel получил 8 байтов, даже если он удерживает более низкие значения, т.е. 99951 (я не буду включать образец ToString()).
Если значение равно "короче", что означает -999,99-999,99, оно займет всего 2 байта.
[END EDIT]
arrays c# serialization byte
Выполните Команду Script В Зависимости От Разрешения Экрана
Я попытался найти ответ на некоторые другие темы, но я думаю, что то, что я пытаюсь сделать, немного "специфично". Я не достаточно хорош с партией для адаптации/конкатенации частей скриптов, которые я нашел также...
Итак, я пытаюсь выполнить команду, в зависимости от разрешения экрана. Контекст следующий:
Команда, выполняемая при входе в систему, размещает ярлыки на рабочем столе специально, но это не то же расположение между разрешениями...
Идея состоит в том, чтобы определить переменную, которая является ответом на запрос wmic desktopmonitor получить экранный экран, экранную ширину. Затем, если вывод содержит 1080, выполните этот cmd, иначе, если он содержит 720, выполните другой и т.д.
thats cmd я использую для win7 (рабочий);
for /f "tokens=1-2 delims= " %%r in ('wmic desktopmonitor get screenheight^, screenwidth ^| findstr "1"') do set current_res=%%sx%%r
if "%current_res%" == "1920x1080" C:\Windows\kiosque\desktopok.exe /load /silent c:\windows\kiosque\dispo_icones_1080p.dok
Мне нужно сделать то же самое с win10 с wmic path Win32_VideoController получить VideoModeDescription, но я не нашел, как правильно определить вывод этого запроса как переменной...
Заранее благодарим за помощь Arnaud
screen resolution batch-file request execute
Исключение Arrayindexoutofbounds Во Время (До?) Выполнения Jsp С Использованием Gae
Я с удовольствием использую/развиваюсь с GAE уже более года. Внезапно ни одна из моих страниц JSP не работает с локальной отладкой. Я подозреваю, что обновление SDK/JDKs, но как исправить ситуацию ускользает от меня. Любые идеи кто-нибудь???
После
jsp = req.getRequestDispatcher("/WEB-INF/login.jsp");
jsp.forward(req, resp);
Я получаю следующую трассировку стека:
Clock [Web Application]
com.google.appengine.tools.development.DevAppServerMain at localhost:58357
Thread [main] (Running)
Thread [26975285@qtp-1294089382-0] (Suspended (exception ArrayIndexOutOfBoundsException))
owns: MethodDescriptor (id=423)
owns: JspServletWrapper (id=424)
SignatureParser.current() line: 95
SignatureParser.parseZeroOrMoreThrowsSignatures() line: 635
SignatureParser.parseMethodTypeSignature() line: 577
SignatureParser.parseMethodSig(String) line: 173
MethodRepository(ConstructorRepository).parse(String) line: 55
MethodRepository(ConstructorRepository).parse(String) line: 43
MethodRepository(AbstractRepository<T>).<init>(String, GenericsFactory) line: 74
MethodRepository(GenericDeclRepository<S>).<init>(String, GenericsFactory) line: 48
MethodRepository(ConstructorRepository).<init>(String, GenericsFactory) line: 51
MethodRepository.<init>(String, GenericsFactory) line: 46
MethodRepository.make(String, GenericsFactory) line: 59
Method.getGenericInfo() line: 102
Method.getGenericParameterTypes() line: 292
FeatureDescriptor.getParameterTypes(Class, Method) line: 387
MethodDescriptor.setMethod(Method) line: 114
MethodDescriptor.<init>(Method, ParameterDescriptor[]) line: 72
MethodDescriptor.<init>(Method) line: 56
Introspector.getTargetMethodInfo() line: 1149
Introspector.getBeanInfo() line: 416
Introspector.getBeanInfo(Class<?>) line: 163
Introspector.getBeanInfo(Class<?>, Class<?>, int) line: 250
Introspector.<init>(Class, Class, int) line: 397
Introspector.getBeanInfo(Class<?>) line: 163
Introspector.getBeanInfo(Class<?>, Class<?>, int) line: 250
Introspector.<init>(Class, Class, int) line: 397
Introspector.getBeanInfo(Class<?>) line: 163
Introspector.getBeanInfo(Class<?>, Class<?>, int) line: 250
Introspector.<init>(Class, Class, int) line: 397
Introspector.getBeanInfo(Class<?>) line: 163
Generator$TagHandlerInfo.<init>(Node, Class, ErrorDispatcher) line: 3888
Generator$GenerateVisitor.getTagHandlerInfo(Node$CustomTag) line: 2155
Generator$GenerateVisitor.visit(Node$CustomTag) line: 1628
Node$CustomTag.accept(Node$Visitor) line: 1530
Node$Nodes.visit(Node$Visitor) line: 2361
Generator$GenerateVisitor(Node$Visitor).visitBody(Node) line: 2411
Generator$GenerateVisitor(Node$Visitor).visit(Node$Root) line: 2417
Node$Root.accept(Node$Visitor) line: 495
Node$Nodes.visit(Node$Visitor) line: 2361
Generator.generate(ServletWriter, Compiler, Node$Nodes) line: 3440
JDTCompiler(Compiler).generateJava() line: 231
JDTCompiler(Compiler).compile(boolean, boolean) line: 347
JDTCompiler(Compiler).compile(boolean) line: 327
JDTCompiler(Compiler).compile() line: 314
JspCompilationContext.compile() line: 592
JspServletWrapper.service(HttpServletRequest, HttpServletResponse, boolean) line: 317
PrivilegedJspServlet(JspServlet).serviceJspFile(HttpServletRequest, HttpServletResponse, String, Throwable, boolean) line: 313
PrivilegedJspServlet(JspServlet).service(HttpServletRequest, HttpServletResponse) line: 260
PrivilegedJspServlet.access$101(PrivilegedJspServlet, HttpServletRequest, HttpServletResponse) line: 23
PrivilegedJspServlet$2.run() line: 61
AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method]
PrivilegedJspServlet.service(HttpServletRequest, HttpServletResponse) line: 58
PrivilegedJspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717
ServletHolder.handle(ServletRequest, ServletResponse) line: 511
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1166
ServeBlobFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 63
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
DevAppServerModulesFilter.doDirectRequest(String, int, HttpServletRequest, HttpServletResponse, FilterChain) line: 366
DevAppServerModulesFilter.doDirectModuleRequest(HttpServletRequest, HttpServletResponse, FilterChain) line: 349
DevAppServerModulesFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 116
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
ServletHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 388
SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216
SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 182
DevAppEngineWebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 765
DevAppEngineWebAppContext(WebAppContext).handle(String, HttpServletRequest, HttpServletResponse, int) line: 418
DevAppEngineWebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 98
Dispatcher.forward(ServletRequest, ServletResponse, int) line: 327
Dispatcher.forward(ServletRequest, ServletResponse) line: 126
ClockServlet.getcust(HttpServletRequest, HttpServletResponse, GcsService) line: 1932
ClockServlet.doGet(HttpServletRequest, HttpServletResponse) line: 639
ClockServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 617
ClockServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 717
ServletHolder.handle(ServletRequest, ServletResponse) line: 511
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1166
DevSocketFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 74
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
ResponseRewriterFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 127
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
HeaderVerificationFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 34
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
ServeBlobFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 63
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
TransactionCleanupFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 43
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
StaticFileFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 125
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
DevAppServerModulesFilter.doDirectRequest(String, int, HttpServletRequest, HttpServletResponse, FilterChain) line: 366
DevAppServerModulesFilter.doDirectModuleRequest(HttpServletRequest, HttpServletResponse, FilterChain) line: 349
DevAppServerModulesFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 116
ServletHandler$CachedChain.doFilter(ServletRequest, ServletResponse) line: 1157
ServletHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 388
SecurityHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 216
SessionHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 182
DevAppEngineWebAppContext(ContextHandler).handle(String, HttpServletRequest, HttpServletResponse, int) line: 765
DevAppEngineWebAppContext(WebAppContext).handle(String, HttpServletRequest, HttpServletResponse, int) line: 418
DevAppEngineWebAppContext.handle(String, HttpServletRequest, HttpServletResponse, int) line: 98
JettyContainerService$ApiProxyHandler(HandlerWrapper).handle(String, HttpServletRequest, HttpServletResponse, int) line: 152
JettyContainerService$ApiProxyHandler.handle(String, HttpServletRequest, HttpServletResponse, int) line: 491
Server(HandlerWrapper).handle(String, HttpServletRequest, HttpServletResponse, int) line: 152
Server.handle(HttpConnection) line: 326
HttpConnection.handleRequest() line: 542
HttpConnection$RequestHandler.headerComplete() line: 923
HttpParser.parseNext() line: 547
HttpParser.parseAvailable() line: 212
HttpConnection.handle() line: 404
SelectChannelConnector$ConnectorEndPoint(SelectChannelEndPoint).run() line: 409
QueuedThreadPool$PoolThread.run() line: 582
Thread [694563922@qtp-1294089382-1 - Acceptor0 [email protected]:8888] (Running)
Daemon Thread [Timer-0] (Running)
Daemon Thread [Timer-1] (Running)
C:\Program Files\Java\jdk1.7.0_65\bin\javaw.exe (21 Aug 2014 09:57:15)
}
java google-app-engine jsp
Сбой Приложения Exec Rake При Переносе Атрибута Пользователя В Почтовый Ящик
Я не могу передать bundle exec rake или rspec spec даже если все индивидуальные тесты проходят, а почтовая программа работает с ошибками (например, он успешно отправляет письмо со всеми атрибутами). Это приводит к сбою моей сборки Travis. Ошибка:
/app/views/team_mailer/new_team.html.erb:8:in '_app_views_team_mailer_new_team_html_erb__3000815885147353905_70129791802460': undefined method 'first_name' for nil:NilClass (ActionView::Template::Error)
/app/models/team.rb
class Team < ApplicationRecord
belongs_to :user
has_many :picks, dependent: :destroy
validates :name, presence: true
after_create :send_new_team_email
private
def send_new_team_email
TeamMailer.new_team(self).deliver_now
end
end
/app/controllers/teams_controller.rb
class TeamsController < ApplicationController
before_action :authorize_user_for_delete, only: [:destroy]
before_action :authorize_user_for_edit, only: [:edit]
def index
@user_teams = Team.where(user_id: current_user)
end
def new
@team = Team.new
end
def create
@team = current_user.teams.build(team_params)
if @team.save
flash[:notice] = "Team successfully created."
redirect_to @team
else
flash.now[:alert] = "Error creating team. Please try again."
render :new
end
end
private
def team_params
params.require(:team).permit(:name)
end
/app/mailers/team_mailer.rb
class TeamMailer < ApplicationMailer
default from: "[email protected]"
def new_team(team)
headers["Message-ID"] = "<#{team.user_id} team/#{team.id}@Pcoolsite.com>"
headers["In-Reply-To"] = "<#{team.user_id} team/#{team.id}@coolsite.com>"
headers["References"] = "<#{team.user_id} team/#{team.id}@coolsite.com>"
@team = team
mail(to: '[email protected]', subject: "New team created")
end
end
/app/views/team_mailer/new_team.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content = "text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<%= "#{@team.user.first_name} #{@team.user.last_name} created #{@team.name}" %>
</body>
</html>
ruby ruby-on-rails
Прокручиваемые Элементы Для Кликов Из Строки Json В Android
Я хочу создать кликабельные элементы из scrollview или listview, где элементы поступают из JSON, который извлекается из моей онлайн-базы данных. Теперь у меня даже нет идеи о том, как работать с этим, поскольку я не знаю, как динамически создавать объект с помощью кодов для вставки элементов базы данных. Ну, концепция проста. Мне просто нужно отобразить список через коды, а затем назначить идентификатор для каждой строки, щелкнуть по одной из строк, а затем перейти к новому намерению, когда детали отображаются в соответствии с идентификатором, назначенным в выбранной строке. Может ли кто-нибудь дать мне пример или ссылки о том, как я могу работать с этим?
android
Облачные Множественные Статические Ip-Адреса Google Cloud
Я разрабатываю платформу, для которой требуется VPN со статическим IP-адресом, который будет передавать данные в VPC. Я также хотел бы, чтобы этот VPC со статическим внешним IP-адресом, где я мог бы развивать свою внутреннюю и внешнюю службу. Таким образом, я получаю сеть VPC с VPN (статический внешний IP) со статическим внутренним IP-адресом, который отправляет данные в VPC на статическом внутреннем IP-адресе. Затем я хочу, чтобы мой VPC был выставлен со статическим внешним IP. Но я ограничена одной зоной. Есть ли решение для этого? Я рассматриваю это неправильно? Pic: 
cloud vpc vpn
System.accessviolationexception: Попытка Чтения Или Записи Защищенной Памяти
У меня возникла проблема с созданием оболочки С#, начиная с неуправляемой библиотеки С++. Каждый раз, когда я попадаю в System.AccessViolationException: Попытка чтения или записи защищенной памяти. Я знаю, вероятно, это зависит от того, как я переводил структуры и их элементы с С++ на С#, но Idon't не знаю, как их решить. Может кто-нибудь мне помочь?
Код С++:
typedef struct VBLEnvironmentVariable_t
{
VBLObjectHeader mHeader;
DWORD mNameLength;
DWORD mDataLength;
LPSTR mName;
LPBYTE mData;
} VBLEnvironmentVariable;
typedef struct VBLAppTrigger_t
{
VBLObjectHeader mHeader;
ULONGLONG mPreTriggerTime;
ULONGLONG mPostTriggerTime;
WORD mChannel;
WORD mFlags;
DWORD mAppSecific2;
} VBLAppTrigger;
//signature
BLAPI( BOOL) BLWriteObject( HANDLE hFile, VBLObjectHeaderBase* pBase);
//how function is called
int write_test( LPCTSTR pFileName, LPDWORD pWritten)
{
if ( NULL == pWritten)
{
return -1;
}
*pWritten = 0;
/* open file */
hFile = BLCreateFile( pFileName, GENERIC_WRITE);
if ( INVALID_HANDLE_VALUE == hFile)
{
return -1;
}
/* set applicaton information */
/* bSuccess = BLSetApplication( hFile, BL_APPID_UNKNOWN, 1, 0, 0); */
bSuccess = BLSetApplication( hFile, BL_APPID_CANCASEXLLOG, 1, 0, 1);
GetSystemTime( &systemTime);
bSuccess = bSuccess && BLSetMeasurementStartTime( hFile, &systemTime);
/* set write options */
bSuccess = bSuccess && BLSetWriteOptions( hFile, 6, 0);
if ( bSuccess)
{
// setup object headers
appTrigger.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
appTrigger.mHeader.mBase.mHeaderSize = sizeof( appTrigger.mHeader);
appTrigger.mHeader.mBase.mHeaderVersion = 1;
appTrigger.mHeader.mBase.mObjectSize = sizeof( VBLAppTrigger);
appTrigger.mHeader.mBase.mObjectType = BL_OBJ_TYPE_APP_TRIGGER;
appTrigger.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
message.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
message.mHeader.mBase.mHeaderSize = sizeof( message.mHeader);
message.mHeader.mBase.mHeaderVersion = 1;
message.mHeader.mBase.mObjectSize = sizeof( VBLCANMessage);
message.mHeader.mBase.mObjectType = BL_OBJ_TYPE_CAN_MESSAGE;
message.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
variable_s.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
variable_s.mHeader.mBase.mHeaderSize = sizeof( variable_s.mHeader);
variable_s.mHeader.mBase.mHeaderVersion = 1;
variable_s.mHeader.mBase.mObjectType = BL_OBJ_TYPE_ENV_STRING;
variable_s.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
variable_i.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
variable_i.mHeader.mBase.mHeaderSize = sizeof( variable_i.mHeader);
variable_i.mHeader.mBase.mHeaderVersion = 1;
variable_i.mHeader.mBase.mObjectType = BL_OBJ_TYPE_ENV_INTEGER;
variable_i.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
ethframe.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
ethframe.mHeader.mBase.mHeaderSize = sizeof( ethframe.mHeader);
ethframe.mHeader.mBase.mHeaderVersion = 1;
ethframe.mHeader.mBase.mObjectType = BL_OBJ_TYPE_ETHERNET_FRAME;
ethframe.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
appText.mHeader.mBase.mSignature = BL_OBJ_SIGNATURE;
appText.mHeader.mBase.mHeaderSize = sizeof( appText.mHeader);
appText.mHeader.mBase.mHeaderVersion = 1;
appText.mHeader.mBase.mObjectType = BL_OBJ_TYPE_APP_TEXT;
appText.mHeader.mObjectFlags = BL_OBJ_FLAG_TIME_ONE_NANS;
for ( i = 0; i < 1000; ++i)
{
ethbuffer[i] = ( BYTE)i;
}
for ( i = 0; i < 1000 && bSuccess; ++i)
{
// increment in milliseconds
time = i * 10000000;
// setup app trigger object header
appTrigger.mHeader.mObjectTimeStamp = time;
// write app trigger object
bSuccess = BLWriteObject( hFile, &appTrigger.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
// setup CAN object header
message.mHeader.mObjectTimeStamp = time;
// setup CAN message
message.mChannel = 1;
message.mFlags = CAN_MSG_FLAGS( 0, 0);
message.mDLC = 8;
message.mID = 0x100;
memcpy( message.mData, ( i % 2) ? _T( "01234567") : _T( "76543210"), message.mDLC);
// write CAN message
bSuccess = BLWriteObject( hFile, &message.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
if ( 0 == ( i % 3) && bSuccess)
{
// setup environment variable object headers
variable_s.mHeader.mObjectTimeStamp = time;
variable_i.mHeader.mObjectTimeStamp = time;
// setup environment variables
variable_s.mNameLength = strlen( ENV_NAME1);
variable_s.mDataLength = strlen( ( i % 2) ? ENV_DATA1 : ENV_DATA2);
variable_s.mName = ENV_NAME1;
variable_s.mData = ( i % 2) ? ENV_DATA1 : ENV_DATA2;
variable_s.mHeader.mBase.mObjectSize = sizeof( VBLEnvironmentVariable) + variable_s.mNameLength + variable_s.mDataLength;
variable_i.mNameLength = strlen( ENV_NAME2);
variable_i.mDataLength = sizeof( int);
variable_i.mName = ENV_NAME2;
variable_i.mData = ( LPBYTE)&i;
variable_i.mHeader.mBase.mObjectSize = sizeof( VBLEnvironmentVariable) + variable_i.mNameLength + variable_i.mDataLength;
// write environment variables
bSuccess = BLWriteObject( hFile, &variable_s.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
bSuccess = bSuccess && BLWriteObject( hFile, &variable_i.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
// write ethernet frame
memcpy( ethframe.mSourceAddress, src, sizeof( ethframe.mSourceAddress));
ethframe.mReserved1 = 0;
memcpy( ethframe.mDestinationAddress, dst, sizeof( ethframe.mDestinationAddress));
ethframe.mReserved2 = 0;
ethframe.mType = 0x0800;
ethframe.mTPID = 0;
ethframe.mTCI = 0;
ethframe.mPayLoadLength = ( WORD)i;
ethframe.mPayLoad = ethbuffer;
ethframe.mHeader.mBase.mObjectSize = sizeof( VBLEthernetFrame) + ethframe.mPayLoadLength;
bSuccess = bSuccess && BLWriteObject( hFile, ðframe.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
// write text
if ( ( i % 100) == 0)
{
char text[128];
sprintf( text, "%d objects written...", *pWritten);
appText.mText = text;
appText.mTextLength = strlen( appText.mText);
appText.mHeader.mBase.mObjectSize = sizeof( VBLAppText) + appText.mTextLength;
bSuccess = bSuccess && BLWriteObject( hFile, &appText.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
}
}
}
appText.mText = "All objects written...";
appText.mTextLength = strlen( appText.mText);
appText.mHeader.mBase.mObjectSize = sizeof( VBLAppText) + appText.mTextLength;
bSuccess = bSuccess && BLWriteObject( hFile, &appText.mHeader.mBase);
*pWritten += bSuccess ? 1 : 0;
}
/* close file */
if ( !BLCloseHandle( hFile))
{
return -1;
}
return bSuccess ? 0 : -1;
}`
Код С#:
//translation of C++ struct into C# class
public class VBLEnvVar
{
public VBLEnvVarStruct variable_s;
public VBLEnvVar()
{
variable_s = new BLF_Function.VBLEnvVar.VBLEnvVarStruct();
}
public struct VBLEnvVarStruct
{
public VBLObjectHeader.VBLObjectHeaderStruct mHeader;
public uint NameLength;
public uint DataLength;
public string Name;
[MarshalAsAttribute(UnmanagedType.LPArray)]
public byte[] Data;
}
}
public class VBLAppTrigger
{
public VBLAppTriggerStruct apptrigger;
public VBLAppTrigger()
{
apptrigger = new BLF_Function.VBLAppTrigger.VBLAppTriggerStruct(null);
}
public struct VBLAppTriggerStruct
{
public VBLObjectHeader.VBLObjectHeaderStruct mHeader;
public UInt64 mPreTriggerTime;
public UInt64 mPostTriggerTime;
public ushort mFlags;
public ushort mChannel;
public uint mAppSpecific2;
}
}
[DllImport("binlog.dll")]
public static extern bool BLWriteObject( int Handle,ref BLF_Function.ObjectHeader.ObjHeader pBase);
//how function is called into C# code
public static void Main(string[] args)
{
int written=0;
BLF_Function b = new BLF_Function();
UInt64 time=0;
byte[] ethbuffer = new byte[1500];
bool success=false;
string filename = "provamia.blf";
int Handle = MyBLF.BLCreateFile(filename,b.GENERIC_WRITE);
if (Handle != -1)
{
success = MyBLF.BLSetApplication( Handle, (byte)BLF_Function.FileStatistics.APPID.BL_APPID_UNKNOWN, 1, 0, 1);
//***********
MyBLF.SYSTEMTIME d = new MyBLF.SYSTEMTIME();
MyBLF.GetLocalTime(out d);
MyBLF.SYSTEMTIME* s = &d;
success = MyBLF.BLSetMeasurementStartTime( Handle,ref s);
//*************
if (success)
{
success = MyBLF.BLSetWriteOptions( Handle, 6,0);
if (success)
{
BLF_Function.VBLObjectHeader vblobjectheaderclass = new BLF_Function.VBLObjectHeader();
BLF_Function.ObjectHeader objectheaderclass = new BLF_Function.ObjectHeader();
vblobjectheaderclass.mHeader.baseheader=objectheaderclass.baseheader;
BLF_Function.VBLAppTrigger apptriggerclass = new BLF_Function.VBLAppTrigger();
apptriggerclass.apptrigger.mFlags=(ushort)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
apptriggerclass.apptrigger.mHeader=vblobjectheaderclass.mHeader;
apptriggerclass.apptrigger.mHeader.baseheader.HeaderSize = apptriggerclass.apptrigger.mHeader.GetSize();
apptriggerclass.apptrigger.mHeader.baseheader.HeaderVersion = 1;
apptriggerclass.apptrigger.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
apptriggerclass.apptrigger.mHeader.baseheader.ObjectSize = (ushort)apptriggerclass.GetSize();
apptriggerclass.apptrigger.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_APP_TRIGGER;
apptriggerclass.apptrigger.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
BLF_Function.VBLCANMessage messageclass = new BLF_Function.VBLCANMessage();
messageclass.message.mHeader=vblobjectheaderclass.mHeader;
messageclass.message.mHeader.baseheader.HeaderSize = messageclass.message.mHeader.GetSize();
messageclass.message.mHeader.baseheader.HeaderVersion = 1;
messageclass.message.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
messageclass.message.mHeader.baseheader.ObjectSize = (ushort)messageclass.GetSize();
messageclass.message.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_CAN_MESSAGE;
messageclass.message.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
BLF_Function.VBLEnvVar variable_sclass = new BLF_Function.VBLEnvVar();
variable_sclass.variable_s.mHeader=vblobjectheaderclass.mHeader;
variable_sclass.variable_s.mHeader.baseheader.HeaderSize = variable_sclass.variable_s.mHeader.GetSize();
variable_sclass.variable_s.mHeader.baseheader.HeaderVersion = 1;
variable_sclass.variable_s.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
variable_sclass.variable_s.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_ENV_STRING;
variable_sclass.variable_s.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
BLF_Function.VBLEnvVar variable_iclass = new BLF_Function.VBLEnvVar();
variable_iclass.variable_s.mHeader=vblobjectheaderclass.mHeader;
variable_iclass.variable_s.mHeader.baseheader.HeaderSize = variable_iclass.variable_s.mHeader.GetSize();
variable_iclass.variable_s.mHeader.baseheader.HeaderVersion = 1;
variable_iclass.variable_s.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
variable_iclass.variable_s.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_ENV_INTEGER;
variable_iclass.variable_s.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
BLF_Function.VBLEthernetFrame ethframeclass = new BLF_Function.VBLEthernetFrame();
ethframeclass.ethframe.mHeader=vblobjectheaderclass.mHeader;
ethframeclass.ethframe.mHeader.baseheader.HeaderSize = ethframeclass.ethframe.mHeader.GetSize();
ethframeclass.ethframe.mHeader.baseheader.HeaderVersion = 1;
ethframeclass.ethframe.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
ethframeclass.ethframe.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_ETHERNET_FRAME;
ethframeclass.ethframe.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
BLF_Function.VBLAppText appTextclass = new BLF_Function.VBLAppText();
appTextclass.appText.mHeader=vblobjectheaderclass.mHeader;
appTextclass.appText.mHeader.baseheader.HeaderSize = appTextclass.appText.mHeader.GetSize();
appTextclass.appText.mHeader.baseheader.HeaderVersion = 1;
appTextclass.appText.mHeader.baseheader.signature = objectheaderclass.BL_OBJ_SIGNATURE;
appTextclass.appText.mHeader.baseheader.ObjectSize = (ushort)appTextclass.GetSize();
appTextclass.appText.mHeader.baseheader.ObjectType = (ushort)BLF_Function.ObjectHeader.OBJ_TYPR.BL_OBJ_TYPE_APP_TEXT;
appTextclass.appText.mHeader.mObjectFlags = (uint)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
for (int h=0;h<ethbuffer.Length;h++)
ethbuffer[h]=Convert.ToByte(h & 0xFF);
for (int i = 0; i < 1000 ; ++i)
{
/* increment in milliseconds */
time = (uint)(i * 100000);
/* setup app trigger object header */
apptriggerclass.apptrigger.mHeader.mObjectTimestamp = time;
/* write app trigger object */
success = Scrivi(Handle, apptriggerclass.apptrigger.mHeader.baseheader);////NO ERROR
written += success ? 1 : 0;
if (success)
{
string envdata1="01234567";
string envdata2="76543210";
/* setup CAN object header */
messageclass.message.mHeader.mObjectTimestamp = time;
/* setup CAN message */
messageclass.message.mChannel=1;
messageclass.message.mFlags=(byte)vblobjectheaderclass.BL_OBJ_FLAG_TIME_ONE_NANS;
messageclass.message.mDLC = 8;
messageclass.message.mID = 0x100;
char[] supp = envdata1.ToCharArray();
char[] supp2 = envdata2.ToCharArray();
messageclass.message.Data = new byte[messageclass.message.mDLC];
if ((i%2)==0)
{
for (int g=0;g<supp.Length;g++)
messageclass.message.Data[g] = (byte)supp[g];
}
else
{
for (int g=0;g<supp2.Length;g++)
messageclass.message.Data[g] = (byte)supp2[g];
}
/* write CAN message */
success = Scrivi(Handle, messageclass.message.mHeader.baseheader);////NO ERROR
written += success ? 1 : 0;
if (success)
{
if ((i%3)==0)
{
/* setup environment variable object headers */
variable_sclass.variable_s.mHeader.mObjectTimestamp= time;
/* setup environment variables */
string envname1="EnvString";
string envname2="EnvInt";
char[] suppstring1 = envname1.ToCharArray();
char[] suppstring2 = envname2.ToCharArray();
variable_sclass.variable_s.NameLength = (uint)envname1.Length;
variable_sclass.variable_s.DataLength = (uint)(((i%2)==0)?envdata1.Length:envdata2.Length);
variable_sclass.variable_s.Name = envname1;
variable_sclass.variable_s.Data = new byte[variable_sclass.variable_s.DataLength];
if ((i%2)==0)
{
for (int g=0;g<supp.Length;g++)
variable_sclass.variable_s.Data[g] = Convert.ToByte(supp[g]);
}
else
{
for (int g=0;g<supp2.Length;g++)
variable_sclass.variable_s.Data[g] = Convert.ToByte(supp2[g]);
}
variable_sclass.variable_s.mHeader.baseheader.ObjectSize = 65;
success = Scrivi(Handle, variable_sclass.variable_s.mHeader.baseheader);////ERROR
...........
}
public static bool Scrivi(int a, BLF_Function.ObjectHeader.ObjHeader b)
{
return MyBLF.BLWriteObject( a, ref b);
}
СВ
c++ c# wrapper
Тема Для Загрузки Графического Содержимого
Я создаю игровой движок. В Windows у меня было два потока с двумя контекстами, которые были разделены (используя wglShareLists). Он работал нормально. В то время как один поток загружал ресурсы, другие отображали простой экран загрузки. В Linux нет WGL, только glX. Я не знаю, как правильно его использовать. В настоящее время мой код потока выглядит следующим образом:
LinuxThread::LinuxThread() :
handle_(0),
running_(false),
task_(0),
useGraphicsContext_(0),
threadContext_(0),
threadDrawable_(0),
dsp_(0)
{
}
LinuxThread::~LinuxThread() {
finishTask();
running_ = false;
glXDestroyContext(dsp_, threadContext_);
}
ULONG LinuxThread::getId() {
return static_cast<ULONG>(handle_);
}
void LinuxThread::start() {
running_ = true;
pthread_create(&handle_, 0, &LinuxThread::staticRun, (void*) this);
}
bool LinuxThread::isRunning() {
return running_;
}
void LinuxThread::setGraphicsContext(bool state) {
if (state) {
Display* dsp = XOpenDisplay(0);
threadDrawable_ = glXGetCurrentDrawable();
GLint att[] = { GLX_RGBA, None };
XVisualInfo* vi = glXChooseVisual(dsp, 0, att);
GLXContext glc = glXGetCurrentContext();
bool directlyToScreen = true; // False for x-server display.
threadContext_ = glXCreateContext(dsp, vi, glc, directlyToScreen);
}
useGraphicsContext_ = state;
}
void LinuxThread::setTask(Task* task) {
// if (useGraphicsContext_) {
// task->run();
// delete task;
// return;
// }
finishTask();
task_ = task;
}
bool LinuxThread::hasTask() {
return task_ != 0;
}
void LinuxThread::finishTask() {
while (task_ != 0) {
usleep(1000);
}
}
void LinuxThread::stop() {
running_ = false;
}
void* LinuxThread::staticRun(void* thread) {
return (void*) ((LinuxThread*) thread)->run();
}
int LinuxThread::run() {
while (running_) {
usleep(10000);
if (task_ != 0) {
if (useGraphicsContext_) {
glXMakeCurrent(dsp_, threadDrawable_, threadContext_);
}
task_->run();
if (useGraphicsContext_) {
glFinish();
glXMakeCurrent(dsp_, 0, 0);
}
delete task_;
task_ = 0;
}
}
return 1;
}
Он выдает сообщение об ошибке следующим образом:
nouveau: kernel rejected pushbuf: No such file or directory
nouveau: ch6: krec 0 pushes 1 bufs 14 relocs 0
nouveau: ch6: buf 00000000 00000002 00000006 00000006 00000000
nouveau: ch6: buf 00000001 00000010 00000002 00000002 00000000
nouveau: ch6: buf 00000002 0000000f 00000002 00000002 00000002
nouveau: ch6: buf 00000003 0000000e 00000002 00000000 00000002
nouveau: ch6: buf 00000004 00000007 00000002 00000002 00000002
nouveau: ch6: buf 00000005 0000000a 00000002 00000002 00000000
nouveau: ch6: buf 00000006 0000000b 00000002 00000002 00000000
Что я делаю неправильно?
c++ linux opengl glx
Использование Asp.net Mvc 2 И Wcf - Передача Общего Объекта На Вызов Службы?
[DataContract]
public class UserCertification
{
…
}
[DataContract]
public class UserPhone
{
…
}
[DataContract]
public class UserAddress
{
…
}
[DataContract]
public abstract class Request
{
[DataMember]
public int UserMakingRequest { get; set; }
[DataMember]
public Guid RequestId { get; set; }
[DataMember]
public Object RequestObjectDTO { get; set; }
}
var request = new Request
{
RequestId = new Guid(),
UserMakingRequest = loggedInUserId,
RequestObjectDTO = userCertification,
};
У меня есть DataContracts: UserCertification, UserAddress и UserPhone
У меня также есть запрос DataContact. Это то, что я хотел бы передать каждому методу службы WCF.
Таким образом, уведомление в Request DataContract - это DataMember, называемый RequestObjectDTO. Я сделал это типа объекта, надеясь, что тогда я смогу подключить к нему другие DataContracts.
Это не сработало - оно выдает ошибку "Невозможно создать абстрактный класс".
Какой тип должен быть? Могу ли я это сделать?
asp.net-mvc wcf
Пользовательский Текст Электронной Почты Активации Django Не Отображается
У меня есть файл activation_email.txt:
{% load i18n %}
{% trans "Регистрация на сайте" %}
{% trans "Для активации Вашего аккаунта необходимо перейти по ссылке" %}:
http://{{ site }}{% url 'registration_activate' activation_key %}
{% trans "Спасибо" %}!
и activation_email_subject.txt:
{% load i18n %}
{% trans "Активация аккаунта" %} - {{ site }}
в моей папке регистрации, но у моих писем активации нет текста из файла activation_email.txt, у них есть общее сообщение django, например:
Вы (или кто-то притворяетесь вам) попросили зарегистрировать учетную запись в% компании%. Если это не вы, пожалуйста, проигнорируйте это письмо, и ваш адрес будет удален из наших записей.
Чтобы активировать эту учетную запись, нажмите следующую ссылку в течение следующих 2 дней:
%ссылка%
С уважением,% компания% Управление
несмотря на то, что тема взята из файла activation_email_subject.txt. Любые идеи оценены
django django-registration
Cvent Soap Api Error (Php)
Я пытаюсь использовать php для доступа к API-интерфейсу Cvent для отображения списка предстоящих событий. Я нашел это: https://github.com/gcanivet/php-cvent
Я получаю "INVALID_CVENT_HEADER_VALUE", когда дело доходит до этой функции:
public function SearchByFilter($objecttype, $type, $filters){
$response = $this->client->Search((object) array('ObjectType' => $objecttype, 'CvSearchObject' => (object) array('SearchType' => $type, 'Filter' => $filters)));
return $response;
}
Я повторил, что отправляется на эту функцию:
$objecttype = 'Event';
$type = 'AndSearch';
$filters =
Array
(
[0] => stdClass Object
(
[Field] => EventStartDate
[Operator] => Greater than
[Value] => 2016-11-28T00:00:00
)
)
Все, что я сделал, это сохранить файл, добавить мои учетные данные и попытаться вывести из него $ events
$account = /* my account */
$username = /* my username */
$password = /* my password */
require('/templates/home/assets/CventClient.class.php');
$cc = new CventClient();
$cc->Login($account,$username,$password);
$events = $cc->GetUpcomingEvents();
Я нашел эту документацию https://custom.cvent.com/5A44061C587B4DF999B70EC98DCA9A84/files/eb1d01535a124863a290b36fa4cd8bd3.pdf, но я не уверен, что случилось, или почему она не работает. У меня не было никакого опыта с SOAP. Любая помощь будет принята с благодарностью!
soap api php
Изменение Цвета Фона В Осевых Плоскостях 3d-Графика Matplotlib
На основе пример диаграммы рассеяния matplotlib, как я могу изменить серый цвет фона 3-х осевых сеток? Я хотел бы установить его в белый цвет, сохраняя линии сетки с серым цветом по умолчанию. Я нашел этот вопрос, но я не смог применить его к примеру. Спасибо.
python matplotlib 3d scatter-plot
Простой Документ С Использованием Fastreport.net Не Отображает Текст
Я попытался сделать простой документ с помощью FastReport. Поэтому я начал с размещения кнопки в форме и написания следующего кода, чтобы запустить его при нажатии кнопки:
private void button1_Click(object sender, EventArgs e)
{
Report report = new Report();
ReportPage page1 = new ReportPage();
page1.Name = "Page1";
report.Pages.Add(page1);
page1.ReportTitle = new ReportTitleBand();
page1.ReportTitle.Name = "ReportTitle1";
TextObject text1 = new TextObject();
text1.Name = "Text1";
text1.Text = "REPORT TITLE TEXT";
text1.HorzAlign = HorzAlign.Center;
text1.Font = new Font("Tahoma", 14, FontStyle.Bold);
page1.ReportTitle.Objects.Add(text1);
report.Show();
}
К сожалению, когда я запускал приложение, и я нажал кнопку, была показана пустая страница без текста. Что не так с кодом? Не хватает ли этого элемента?
c# .net fastreport
Расширения Ibm Verse Извлекают Вложения
В настоящее время я работаю над интеграцией между IBM Verse и нашей системой, используя действие чтения почты. Одна из вещей, с которыми я сейчас сражаюсь, - это то, как я могу получить вложения из почты.
Есть ли кто-нибудь, кто уже сделал что-то подобное и удалось найти вложения?
ibm ibm-verse
Получить Максимальное Разрешение Миниатюр На Youtube
Я хочу получить наивысшее миниатюру youtube "maxresdefault.jpg"
Как этот
http://i.ytimg.com/vi/Cj6ho1-G6tw/maxresdefault.jpg
Я использую этот простой php-код
<?php
$youtub_id = "Cj6ho1-G6tw";
echo "http://i.ytimg.com/vi/".$youtub_id."/maxresdefault.jpg";
?>
Проблема с приведенным выше кодом есть видео, подобное этому http://youtu.be/VGazSZUYyf4 НЕ HD
И результатом будет серое маленькое 404 изображение youtube
http://i.ytimg.com/vi/VGazSZUYyf4/maxresdefault.jpg
Итак, как получить наивысший миниатюру youtube, поэтому, если "maxresdefault" недоступно, получите следующий большой значок "hqdefault", если не получите следующий "mqdefault" и т.д....
Я попытался использовать gdata youtube, но в любом случае видео hd или нет "maxresdefault" не отображается.
php youtube youtube-api
Функция Update_post_meta Пропускает Процесс
Я пишу простой плагин, который обновляет метазначения для продуктов woocommerce. Проделал некоторые хорошие исследования и работал над этим, получил 90% от того, что я хотел, однако простой процесс отсутствует. Позвольте мне объяснить этот вопрос простым примером.
Продукт А с вариациями
-------------------------------------- variations: 500 gms | 1 kg | 2 kg -------------------------------------- Regular Price: 100 | 200 | 400 -------------------------------------- Sale Price : 90 | 180 | 360
Теперь я использую функцию update_post_meta для обновления цен с моего плагина. Он отлично работает для заполненных значений, но пусть говорят, что если мы не хотим использовать эту вариацию и делаем оба значения (цена продажи и обычная цена) пустыми и выполняем один и тот же процесс, значения базы данных обновляются пустым, но на дисплее отображается значение 0.
Где, как если бы мы делали пустое значение с страницы редактирования продукта Wordpress, она работает так, как ожидалось.
Может кто-нибудь, пожалуйста, скажите мне, чего я здесь не хватает?
php wordpress wordpress-plugin woocommerce
Описание Метатега Wordpress
Мне нужно приложить одну строку описания к каждому метатегу, введенному в WP. Например:
теги: собака, кошка, корова, прикрепленные к какой-то почте
станет:
dog - spoiled domestic animal
cat - doesn't care about me
cow - has brown spots
Цель состоит в том, чтобы отобразить строку описания под искомым тегом. Т.е.: www.wordpressite.com/tag/dog/
Отобразится:
TAG
TAG DESCRIPTION
RESULTS
Я честно понятия не имею, с чего начать, кроме создания плагина с дополнительным полем db с именем "tag_description" и создания какой-то "области управления тегами" в разделе admin, но это был бы мой последний выбор. Есть ли более простой способ?
Любая помощь ценится!
Спасибо.
php meta-tags wordpress
