我正在尝试调试Web服务异常.我在Visual Studio 2010,C#,.net 4.0框架中以调试模式运行客户端和服务.
当我运行客户端,并让它调用Web服务时,我得到一个例外:
键入: System.ServiceModel.FaultException`1 [[System.ServiceModel.ExceptionDetail,System.ServiceModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]] 错误消息: 'myService.Service'的类型初始化程序引发了例外.
资料来源: mscorlib
但是,该服务没有任何例外.
我得到的堆栈跟踪似乎表明调用已经完成,并且正在处理回复(即使回复是例外):
服务器堆栈跟踪:
在System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(消息回复,MessageFault错误,字符串操作,MessageVersion版本,FaultConverter faultConverter)
处于System的System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime操作,ProxyRpc和rpc)
. ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object [] ins,Object [] outs,TimeSpan timeout)
在System的System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime操作)
. ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage消息)
有人可以指出我需要做什么来调试这个吗?
我目前正在设置服务跟踪查看器工具,看看是否会告诉我更多信息.
我试图解决微分方程:
DSolve[{0.02*x^2*y''[x] - y'[x] - y[x] == 0}, y[x], x]
但我收到了警告:
Part::partw: Part 2 of {1} does not exist.
我如何理解这个警告?非常感谢.
我想运行我的程序并将鼠标悬停在元素上,让程序在可视树中显示我正在盘旋的内容.我试过'Snoop',但它只是向我展示了一个没有在运行时实际悬停在元素上的能力的可视化树.你们知道这样的工具吗?
文件本身并不大,应该适合内存.但是,一旦你将其与其他开销因素结合起来,那么就开始成为一个问题.我们正在内存中构建一个DOM,而不是为我们扩展.使用原始输出流似乎有问题,因为我们必须小心转义字符.
这样做的好方法是什么?
有没有货物库?
输入:
<a q='r'>
<b x='1' y='2' z='3'/>
<!-- other a content -->
</a>
Run Code Online (Sandbox Code Playgroud)
期望的输出:
<A q='r' x='1' y='2' z='3'>
<!-- things derived from other a content, no b -->
</A>
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个食谱吗?
所以我们有[HttpPost],它是一个可选属性.据我所知,这会限制调用,因此只能通过HTTP POST请求进行调用.我的问题是为什么我要这样做?
现在我在我的控制器中有这个:
def index
@votes = Vote.paginate(:page => params[:page], :order=>"created_at DESC")
end
Run Code Online (Sandbox Code Playgroud)
但我正在考虑将.paginate移动到views/index.html.erb(或该目录中的部分).Paginate在我看来它似乎属于View,因为它管理投票集合的显示方式.我是否正确理解MVC分离?
我想在一些测试功能中引入一些轻微的等待,以模拟服务器调用.使用Thread.Sleep(int)
引入等待是否合理,还是有更好的方法让服务器等待?
注意,我会停留足够长的时间让我在视觉上看到足够的延迟,即使我不希望在实际应用程序中看到这样的延迟.这是我可视化可能发生的实际延迟.
我计划在VS2010本地调试器网络服务器和IIS 7中运行它.我在.NET 3.5上
在我的应用程序中,我使用...
myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
+ "/Android/data/" + packageName + "/files");
myFilesDir.mkdirs();
Run Code Online (Sandbox Code Playgroud)
这很好,结果路径是......
/mnt/sdcard/Android/data/com.mycompany.myApp/files
Run Code Online (Sandbox Code Playgroud)
我需要一个我想要存储在SD卡上的SQLite DB,所以我将SQLiteOpenHelper扩展如下......
public class myDbHelper extends SQLiteOpenHelper {
public myDbHelper(Context context, String name, CursorFactory factory, int version) {
// NOTE I prefix the full path of my files directory to 'name'
super(context, myFilesDir + "/" + name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
// Create tables and populate with default data...
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利 - 我第一次打电话getReadableDatabase()
或getWriteableDatabase()
在SD卡上创建空DB并onCreate()
填充它.
所以这就是问题 …
我正在创建一个自动填充字段,通过显示名称和电子邮件查询联系人.当有人在过滤后点击所需的联系人时,将该联系人添加到带有他的电子邮件的列表中,显示名称和图片(如果他有).
所以到目前为止我已经设法做了所有事情,除了让照片出现.以下是我如何运行查询以获取电子邮件,显示名称,ID和照片ID.
return mContent.query(Email.CONTENT_URI,
PROJECTION, filter, null, null);
Run Code Online (Sandbox Code Playgroud)
投影的地方是:
PROJECTION = new String[] {ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.PHOTO_ID,
Email.DATA
};
Run Code Online (Sandbox Code Playgroud)
这个做我需要的并返回所有数据.但是我在调试此问题时注意到的一件事是联系人ID与例如针对特定显示名称对ContactsContract.Contacts.CONTENT_URI运行查询时的联系人ID不同.
例如我运行的测试我通过运行Contacts.CONTENT_URI获得了所有联系人.我给了一个图像联系人,ID为152.但是对于同一联系人,对Email.CONTENT_URI的查询给了我一个452的id(使用相同的显示名称和电子邮件地址).因此,当我试图获取包含Id 452的内容uri的照片时,它返回该照片不存在,但如果我尝试获取152的照片它完美地工作.
是什么导致了这个问题?我如何获得正确的用户名?是否有任何关系查询,我可以运行以获取联系人ID,或者可能是在这个问题的帮助下获得它的正确方法.
谢谢.
编辑
我发现这是在挖掘旧代码.可能对任何人都有帮助.
所以完整的查询:
String[] PROJECTION = new String[] { ContactsContract.RawContacts._ID,
ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.PHOTO_ID,
Email.DATA, ContactsContract.CommonDataKinds.Photo.CONTACT_ID };
String order = " CASE WHEN " + ContactsContract.Contacts.DISPLAY_NAME
+ " NOT LIKE '%@%' THEN 1" + " ELSE 2 END, "
+ ContactsContract.Contacts.DISPLAY_NAME + " COLLATE NOCASE";
String filter = Email.DATA + " NOT LIKE '' ) GROUP BY ( " …
Run Code Online (Sandbox Code Playgroud)