我有一个Actor,在收到来自WebAPI项目的请求后,Actor使用Entity Framework 6查询表.
using (var context = new MetadataContext())
{
var userStorageAccountId = context.Set<UsersToStorageAccounts>()
.Find(userId).StorageAccountId;
}
Run Code Online (Sandbox Code Playgroud)
使用"Add-Migration"..."Update-Database"命令成功创建了DB,并具有以下连接字符串:
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=C:\Users\xxxx\Metadata.mdf;Connect Timeout=30;Initial Catalog=Metadata;Integrated Security=True;"
Run Code Online (Sandbox Code Playgroud)
当我运行结构服务并且actor尝试访问上下文时,我得到以下异常:
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.有关错误详细信息,请参阅Windows应用程序事件日志.)
并且事件查看器错误是:
无法获取本地应用程序数据路径.很可能没有加载用户配置文件.如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载.
我找了一种加载用户配置文件的方法,但我只找到了IIS的解决方案.
请帮忙 :)
有没有办法只在密钥不存在的情况下运行一段代码ConcurrentHashMap,并将代码的结果保存到集合中?
我无法使用Java 8功能,因为我正在为Android开发.
此外,我想避免运行长操作,如果我不必,我不想打破集合的原子操作这样做.
我在Nexus 5设备上安装了android-6.0.1_r72 AOSP Rom .rom没有附带Google Apps.
我试过从以下网站安装,但安装后我得到了
很遗憾,Google Play服务已经停止
我必须安装特殊版本的Google App吗?
更新:
我在logcat中发现了这个错误:
01-17 11:14:52.750 3525 5402 E AndroidRuntime:致命异常:GoogleLocationService
01-17 11:14:52.750 3525 5402 E AndroidRuntime:处理:com.google.android.gms.persistent,PID:3525
01-17 11:14:52.750 3525 5402 E AndroidRuntime:java.lang.SecurityException:"gps"位置提供程序需要ACCESS_FINE_LOCATION权限.
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.os.Parcel.readException(Parcel.java:1620)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.os.Parcel.readException(Parcel.java:1573)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.location.ILocationManager $ Stub $ Proxy.addGpsStatusListener(ILocationManager.java:741)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:在android.location.LocationManager.addGpsStatusListener(LocationManager.java:1522)
01-17 11:14:52.750 3525 5402 E AndroidRuntime:at aker.a(:com.google.android.gms:1064)
01-17 11:14:52.750 3525 5402 E …
我有一个 WebAPI 服务器,它有一个集线器,通过发布一个Dictionary<long, List<SpecialParam>>对象来回复订阅请求。
的列表SpecialParam包含类型SpecialParamA& 的项目,SpecialParamB它们都继承了SpecialParam。
当我尝试在客户端上捕获发布时:
hubProxy.On<Dictionary<long, List<SpecialParam>>>(hubMethod, res =>
{
DoStuff();
});
Run Code Online (Sandbox Code Playgroud)
DoStuff()不调用该方法。如果我将发布返回值string更改为,并将代理更改为接收string值,DoStuff()则会调用该方法。因此,问题在于SpecialParamItem的反序列化。
我尝试在服务器端配置:
var serializer = JsonSerializer.Create();
serializer.TypeNameHandling = TypeNameHandling.All;
var hubConfig = new HubConfiguration();
hubConfig.Resolver.Register(typeof(JsonSerializer), () => serializer);
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), () => serializer);
Run Code Online (Sandbox Code Playgroud)
但它没有帮助。
我也尝试添加到客户端:
HubConnection hubConnection = new HubConnection(hubPath);
hubConnection.JsonSerializer.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.Auto;
hubProxy = hubConnection.CreateHubProxy(hubName);
hubProxy.JsonSerializer.TypeNameHandling = Newtonsoft.Json.TypeNameHandling.Auto;
Run Code Online (Sandbox Code Playgroud)
它也没有帮助。
在其他解决方案中,我发现人们定义了一个 new IParameterResolver,但它仅在服务器接收到集线器方法的输入时被调用,而不是在从集线器发布输出时调用。
请帮忙!
更新
这是我用 fiddle …
我正试图将5MB~数据从服务传递给actor,我收到错误:
Fabric Message太大了
如何增加微服务之间可以传输的最大大小?
我查看了以下页面以查看我的选项.
我尝试过设置:
<Section Name="ServiceReplicatorConfig">
...
<Parameter Name="MaxReplicationMessageSize" Value="1073741824" />
</Section>
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我正在尝试将blob从一个存储帐户复制到另一个存储帐户(在不同的位置).
我正在使用以下代码:
var sourceContainer = sourceClient.GetContainerReference(containerId);
var sourceBlob = sourceContainer.GetBlockBlobReference(blobId);
if (await sourceBlob.ExistsAsync().ConfigureAwait(false))
{
var targetContainer = targetClient.GetContainerReference(containerId);
await targetContainer.CreateIfNotExistsAsync().ConfigureAwait(false);
var targetBlob = targetContainer.GetBlockBlobReference(blobId);
await targetBlob.DeleteIfExistsAsync().ConfigureAwait(false);
await targetBlob.StartCopyAsync(sourceBlob).ConfigureAwait(false);
}
Run Code Online (Sandbox Code Playgroud)
我收到"未找到"错误.我确实知道源blob确实存在.我使用了错误的命令吗?关于存储帐户之间的复制,我有什么遗漏吗?
我使用以下代码调用 WebAPI:
var client = new HttpClient
{
BaseAddress = new Uri("http://localhost:8490/")
};
var jObject = new JObject();
jObject.Add("paramA", paramA);
jObject.Add("paramB", paramB);
JArray jArr = JArray.FromObject(paramsGenericArr);
jObject.Add("paramC", jArr);
var content = new StringContent(jObject.ToString(), Encoding.UTF8, "application/json");
var result = await client.PostAsync("api/path/tofunc", content).ConfigureAwait(false);
result.EnsureSuccessStatusCode();
Run Code Online (Sandbox Code Playgroud)
ParamsGeneric 类是一个抽象类型,具有 2 个派生类:
[DataContract]
public class ParamsTypeA : ParamsGeneric
{
[DataMember]
public long itemC {get; set;}
public ParamsTypeA() :
base()
{}
}
[DataContract]
public class ParamsTypeB : ParamsGeneric
{
[DataMember]
public long itemD {get; set;}
public ParamsTypeB() …Run Code Online (Sandbox Code Playgroud) 我有一个名为A的项目,它有一个名为ClassA的类. ClassA有一个名为ReadBlock()的方法,它创建一个CloudBlockBlob对象并调用其中一个方法.
CloudBlockBlob是一个位于Microsoft.WindowsAzure.Szrage.Blob命名空间的类,该命名空间位于Microsoft.WindowsAzure.Storage.dll中.
我的项目A有一个名为A.Tests的单元测试项目.现在,我想测试方法ReadBlock().为了测试它,我需要模拟CloudBlockBlob对象并拦截对其方法的调用,返回自定义值并验证方法是否被调用.
更新: 问题是我是否可以在不修改项目A的代码的情况下完成此操作.
谢谢!
我有两个库要添加到AOSP: Azure Storage和 Jackson Core
当Azure存储依赖于杰克逊.
按照这些说明,我已经[MAIN_FOLDER]/external在以下Android.mk文件中添加了这两个文件:
杰克逊 -
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jackson
LOCAL_MODULE_TAGS := eng debug optional
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := $(call all-java-files-under, src/main)
include $(BUILD_JAVA_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
和Azure存储 -
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := azure-storage
LOCAL_JAVA_LIBRARIES := jackson
LOCAL_MODULE_TAGS := eng debug optional
LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := $(call all-java-files-under, src/main)
include $(BUILD_JAVA_LIBRARY)
Run Code Online (Sandbox Code Playgroud)
当我还添加:
PRODUCT_BOOT_JARS := \
jackson \
azure-storage
Run Code Online (Sandbox Code Playgroud)
我的core_minimal.mk.
以及以下内容 …